Rumah php教程 php手册 php bcd码压缩-把十进制数字压缩到十六进制数据中

php bcd码压缩-把十进制数字压缩到十六进制数据中

May 25, 2016 pm 04:50 PM
perpuluhan pemampatan nombor

下面我们一起来看和篇关于php bcd码压缩-把十进制数字压缩到十六进制数据中实例,希望文章给各位同学带来帮助哦。

例,php bcd码压缩-把十进制数字压缩到十六进制数据中,代码如下:

<?php
/*
php bcd码压缩-把十进制数字压缩到十六进制数据中  
例如 0091 压缩后 0x00 0x91  
*/
$string = &#39;0091&#39;;
$bytes = Bytes::getBytes($string);
print_r($bytes);
/*
Array  
(  
 
[0] => 48  
 
[1] => 48  
 
[2] => 57  
 
[3] => 49  
)  
*/
$asc = Bytes::AscToHex($bytes, 4);
//4位压缩成2位
print_r($asc);
/*
Array  
(  
 
[0] => 0  
 
[1] => 145  
)  
*/
echo Bytes::toStr($asc);
/*
0091  
*/
$hex = Bytes::HexToAsc($asc, 2);
//反操作2位还原成4位
print_r($hex);
/*
Array  
(  
 
[0] => 48  
 
[1] => 48  
 
[2] => 57  
 
[3] => 49  
)  
*/
?>
Salin selepas log masuk

例,把十进制数字压缩到十六进制数据中,代码如下:

<?php
/**  
 * php bcd码压缩
 * 把十进制数字压缩到十六进制数据中
 * @author phpff.com
 * Created on 2011-7-15
 */
class Bytes {
    /**  
     * 转换一个String字符串为byte数组
     * @param $str 需要转换的字符串
     * @param $bytes 目标byte数组
     * @author phpff.com
     */
    public static function getBytes($string) {
        $bytes = array();
        for ($i = 0; $i < strlen($string); $i++) {
            $bytes[] = ord($string[$i]);
        }
        return $bytes;
    }
    /**  
     * 将字节数组转化为String类型的数据
     * @param $bytes 字节数组
     * @param $str 目标字符串
     * @return 一个String类型的数据
     */
    public static function toStr($bytes) {
        $str = &#39;&#39;;
        foreach ($bytes as $ch) {
            $str.= bin2hex(chr($ch));
        }
        return $str;
    }
    /**  
     * asc码转成16进制数据
     * @param $asc asc数字字符串
     * @param $AscLen 需要转换的字符串长度
     * @return 16进制数组
     * @author  phpff.com
     */
    public static function AscToHex($asc, $AscLen) {
        $i = 0;
        $Hex = array();
        for ($i = 0; 2 * $i < $AscLen; $i++) {
            /*A:0x41(0100 0001),a:0x61(0110 0001),右移4位后都是0001,加0x90等0xa*/
            $Hex[$i] = (chr($asc[2 * $i]) << 4);
            if (!(chr($asc[2 * $i]) >= &#39;0&#39; && chr($asc[2 * $i]) <= &#39;9&#39;)) {
                $Hex[$i]+= 0x90;
            }
            if (2 * $i + 1 >= $AscLen) {
                break;
            }
            $Hex[$i]|= (chr($asc[2 * $i + 1]) & 0x0f);
            if (!(chr($asc[2 * $i + 1]) >= &#39;0&#39; && chr($asc[2 * $i + 1]) <= &#39;9&#39;)) {
                $Hex[$i]+= 0x09;
            }
        }
        return $Hex;
    }
    /**  
     * 将16进制的数据转换成asc码
     * @param $Hex 16进制数组
     * @param $HexLen 16进制数组长度
     * @return asc数组
     * @author  phpff.com
     */
    public static function HexToAsc($Hex, $HexLen) {
        $i = 0;
        $Temp = 0;
        for ($i = 0; $i < $HexLen; $i++) {
            $Temp = ($Hex[$i] & 0xf0) >> 4;
            if ($Temp < 10) {
                $Asc[2 * $i] = (0x30 + $Temp);
            } else {
                $Asc[2 * $i] = (0x37 + $Temp);
            }
            $Temp = $Hex[$i] & 0x0f;
            if ($Temp < 10) {
                $Asc[2 * $i + 1] = (0x30 + $Temp);
            } else {
                $Asc[2 * $i + 1] = (0x37 + $Temp);
            }
        }
        return $Asc;
    }
}
Salin selepas log masuk


教程地址:

欢迎转载!但请带上文章地址^^

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Muzium Dua Point: Semua Pameran dan Di Mana Mencari Mereka
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk mendayakan atau melumpuhkan pemampatan memori pada Windows 11 Bagaimana untuk mendayakan atau melumpuhkan pemampatan memori pada Windows 11 Sep 19, 2023 pm 11:33 PM

Dengan pemampatan memori pada Windows 11, peranti anda akan tercekik walaupun dengan jumlah RAM yang terhad. Dalam artikel ini, kami akan menunjukkan kepada anda cara mendayakan atau melumpuhkan pemampatan memori pada Windows 11. Apakah pemampatan memori? Pemampatan memori ialah ciri yang memampatkan data sebelum menulisnya ke RAM, sekali gus menyediakan lebih banyak ruang storan padanya. Sudah tentu, lebih banyak data yang disimpan dalam memori fizikal diterjemahkan kepada operasi sistem yang lebih pantas dan prestasi keseluruhan yang lebih baik. Ciri ini didayakan secara lalai dalam Windows 11, tetapi jika ia tidak aktif entah bagaimana, anda boleh melumpuhkan atau mendayakannya semula. Bagaimana untuk membolehkan pemampatan memori dalam Windows 11? Klik bar carian, taip powershell dan klik

Tetapan kadar mampatan maksimum 7-zip, bagaimana untuk memampatkan 7zip kepada minimum Tetapan kadar mampatan maksimum 7-zip, bagaimana untuk memampatkan 7zip kepada minimum Jun 18, 2024 pm 06:12 PM

Saya mendapati bahawa pakej termampat yang dimuat turun dari laman web muat turun tertentu akan lebih besar daripada pakej termampat asal selepas penyahmampatan Perbezaannya ialah berpuluh-puluh Kb dan berpuluh-puluh Mb jika fail kecil, jika terdapat banyak fail, kos penyimpanan akan meningkat dengan banyak. Saya telah membuat beberapa kajian mengenainya dan boleh belajar daripadanya jika perlu. Tahap mampatan: 9-mampatan melampau Saiz kamus: 256 atau 384, semakin dimampatkan kamus, semakin perlahan perbezaan kadar mampatan lebih besar sebelum 256MB dan tiada perbezaan dalam kadar mampatan selepas 384MB: maksimum 273 Parameter: f=BCJ2, uji dan tambah kadar mampatan parameter akan lebih tinggi

Petua untuk mengurangkan saiz fail rakaman skrin win10 Petua untuk mengurangkan saiz fail rakaman skrin win10 Jan 04, 2024 pm 12:05 PM

Ramai rakan perlu merakam skrin untuk kerja pejabat atau memindahkan fail, tetapi kadangkala masalah fail yang terlalu besar menyebabkan banyak masalah berikut adalah penyelesaian kepada masalah fail yang terlalu besar, mari kita lihat. Apa yang perlu dilakukan jika fail rakaman skrin win10 terlalu besar: 1. Muat turun perisian Format Factory untuk memampatkan fail. Alamat muat turun >> 2. Masukkan halaman utama dan klik pilihan "Video-MP4". 3. Klik "Tambah Fail" pada halaman format penukaran dan pilih fail MP4 untuk dimampatkan. 4. Klik "Konfigurasi Output" pada halaman untuk memampatkan fail mengikut kualiti output. 5. Pilih "Kualiti dan Saiz Rendah" daripada senarai konfigurasi juntai bawah dan klik "OK". 6. Klik "OK" untuk melengkapkan import fail video. 7. Klik "Mula" untuk memulakan penukaran. 8. Selepas selesai, anda boleh

Cari nombor yang tidak boleh dibahagikan dengan mana-mana nombor dalam julat, menggunakan C++ Cari nombor yang tidak boleh dibahagikan dengan mana-mana nombor dalam julat, menggunakan C++ Sep 13, 2023 pm 09:21 PM

Dalam artikel ini, kita akan membincangkan masalah mencari nombor antara 1 dan n (diberi) yang tidak boleh dibahagikan dengan sebarang nombor antara 2 dan 10. Mari kita fahami ini dengan beberapa contoh - Input:num=14Output:3Penjelasan:Terdapat tiga nombor,1,11,dan13,yang tidak boleh dibahagikan.Input:num=21Output:5Penjelasan:Terdapat nombor1,11,13,17,dan19,yang tidak boleh dibahagi jika

Bagaimana untuk memampatkan folder dan menghantarnya dalam wps Bagaimana untuk memampatkan folder dan menghantarnya dalam wps Mar 20, 2024 pm 12:58 PM

Pekerja pejabat menggunakan perisian wps dengan kerap di tempat kerja Kadangkala mereka memasukkan berbilang fail setiap hari dan kemudian menghantarnya kepada ketua atau ke lokasi yang ditetapkan Jadi bagaimana perisian wps memampatkan folder dan membungkusnya untuk dihantar? Langkah operasi ini. Mula-mula, susun fail dan folder yang ingin anda hantar ke dalam folder yang sama. Jika anda mempunyai banyak fail, adalah idea yang baik untuk menamakan setiap fail supaya lebih mudah untuk dikenal pasti semasa menghantar. Langkah kedua, kali ini klik pada folder besar ini dan kemudian klik kanan. Pilih "Tambah ke arkib". Langkah 3: Pada masa ini, perisian akan membantu kami membungkus fail kami secara automatik Pilih "Mampatkan ke XX.zip ini ialah format pembungkusan, dan kemudian klik Mampatkan Sekarang". ,

Bagaimana untuk memahami dengan betul perbezaan antara pembungkusan dan pemampatan dalam Linux Bagaimana untuk memahami dengan betul perbezaan antara pembungkusan dan pemampatan dalam Linux Feb 20, 2024 pm 05:33 PM

Pembungkusan dan pemampatan adalah operasi yang biasa digunakan di Linux, tetapi ramai pengguna cenderung untuk mengelirukan kedua-dua konsep. Artikel ini akan membincangkan perbezaan antara pembungkusan dan pemampatan dalam sistem Linux secara terperinci, dan menggunakan contoh kod khusus untuk membantu pembaca memahami dengan lebih baik. Pertama, kita perlu menjelaskan perbezaan antara pembungkusan dan pemampatan. Pembungkusan ialah gabungan berbilang fail atau direktori ke dalam satu fail, selalunya digunakan untuk menyusun, mengarkibkan atau memindahkan fail. Mampatan adalah untuk memampatkan satu atau lebih fail melalui algoritma untuk mengurangkan saiz fail, menjimatkan ruang storan atau mempercepatkan penghantaran.

winrar 64-bit-Bagaimana untuk menyahmampat winrar? winrar 64-bit-Bagaimana untuk menyahmampat winrar? Mar 18, 2024 pm 12:55 PM

WinRAR ialah alat pengurusan fail termampat yang berkuasa yang menyediakan ciri yang kaya dan antara muka yang mudah digunakan. WinRAR versi 64-bit dioptimumkan khas untuk sistem pengendalian 64-bit dan boleh menggunakan sumber dan prestasi sistem dengan lebih baik. Seterusnya, biarkan editor memperkenalkan anda kepada winrar 64-bit dan terangkan cara untuk menyahmampat winrar! 1. Apakah perisian winrar 64-bit WinRAR ialah pengurus pakej termampat yang berkuasa. Perisian ini boleh digunakan untuk menyandarkan data anda, mengurangkan saiz lampiran e-mel, menyahmampat RAR, ZIP dan fail lain yang dimuat turun dari Internet dan mencipta fail baharu dalam format RAR dan ZIP. Versi WINRAR terkini ialah Wi

Gambaran keseluruhan arahan mampatan dan penyahmampatan Centos 7 Gambaran keseluruhan arahan mampatan dan penyahmampatan Centos 7 Dec 31, 2023 pm 09:02 PM

1.Sintaks pemampatan fail zip: zip serta nama fail termampat serta nama fail yang hendak dimampatkan. [root@localhost~]#ziptest.ziptest.txtadding:test.txt(deflated100%)[root@localhost~]#Nombor peratusan bar kemajuan yang muncul selepas ia menunjukkan bahawa ia telah dimampatkan kemudian anda boleh mengesahkannya ll untuk melihat sama ada ia mempunyai pakej fail nama anda. [root@localhost~]#llJumlah penggunaan 820004-rw-------.1rootroot1587 Mac 2216:58anaconda-ks.cfg-rw-r--r--.1ro

See all articles