PHP BCD コード圧縮 - 10 進数を 16 進数データに圧縮するに関する記事を見てみましょう。この記事がすべての学生に役立つことを願っています。
例、PHP BCDコード圧縮 - 10進数を16進数データに圧縮します
コードは次のとおりです |
コードをコピー |
/*
PHP bcd コード圧縮 - 10 進数を 16 進数のデータに圧縮します
たとえば、0091 圧縮 0x00 0x91
*/
$string = '0091';
$bytes = バイト::getBytes($string);
print_r($バイト);
/*
配列
(
[0] => 48
[1] => 48
[2] => 57
[3] => 49
)
*/
$asc=Bytes::AscToHex($bytes,4);
// 4 ビットを 2 ビットに圧縮
print_r($asc);
/*
配列
(
[0] => 0
[1] => 145
)
*/
エコーバイト::toStr($asc);
/*
0091
*/
$hex=Bytes::HexToAsc($asc,2);
//逆の操作で 2 ビットを 4 ビットに復元します
print_r($hex)
/*
配列
(
[0] => 48
[1] => 48
[2] => 57
[3] => 49
)
*/
?>
例、10進数を16進数のデータに圧縮する
代码如下 |
复制幣 |
/**
*php BCDコード圧縮
* 10 進数を 16 進数のデータに圧縮します
* @author phpff.com
※2011年7月15日作成
*/
クラスバイト {
/**
* 文字列をバイト配列に変換します
* @param $str 変換される文字列
* @param $bytes ターゲットバイト配列
* @author phpff.com
*/
パブリック静的関数 getBytes($string) {
$bytes = 配列();
for($i = 0; $i
$bytes[] = ord($string[$i]);
}
$バイトを返します。
}
/**
* バイト配列を文字列型データに変換します
* @param $bytes バイト配列
* @param $str ターゲット文字列
* @return 文字列型データ
*/
パブリック静的関数 toStr($bytes) {
$str = '';
foreach($ch としての $bytes) {
$str .= bin2hex(chr($ch));
}
$str を返します。
}
/**
* ASCコードを16進数データに変換します
* @param $asc asc 数値文字列
* @param $AscLen 変換される文字列の長さ
* @return 16 進配列
* @author phpff.com
*/
パブリック静的関数 AscToHex( $asc, $AscLen) {
$i=0;
$Hex=配列();
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]) >= '0' && chr($asc[2*$i])
$Hex[$i] += 0x90;
}
if(2*$i+1 >= $AscLen){
壊す;
}
$Hex[$i] |= (chr($asc[2*$i+1]) & 0x0f);
if (!(chr($asc[2*$i+1]) >= '0' && chr($asc[2*$i+1])
$Hex[$i] += 0x09;
}
}
$16 進数を返します。
}
/**
* 将16制のデータ转荢ascコード化
* @param $Hex 16进制数组
* @param $HexLen 16进制数组长度
* @return asc数组
* @author phpff.com
*/
パブリック静的関数 HexToAsc($Hex, $HexLen) {
$i=0;
$Temp=0;
for($i = 0; $i
{
$Temp = ($Hex[$i] & 0xf0) >> 4;
if ($Temp
$Asc[2*$i] = (0x30 + $Temp);
}その他{
$Asc[2*$i] = (0x37 + $Temp);
}
$Temp = $Hex[$i] & 0x0f;
if ($Temp
$Asc[2*$i+1] = (0x30 + $Temp);
}その他{
$Asc[2*$i+1] = (0x37 + $Temp);
}
}
$Asc を返します。
}
}
?>
|
http://www.bkjia.com/PHPjc/633105.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/633105.html技術記事以下では、php bcdコード圧縮 - ビット圧縮をビットデータに変換する例について、一緒に見ていきます。
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31
|