如何将PHP字符串与ASCII码之间进行相互转换?
- 内容介绍
- 文章标签
- 相关推荐
本文共计474个文字,预计阅读时间需要2分钟。
在有些时候,中文字符在不同平台上传送存储时容易产生乱码,这时可以将含有中文的字符串转换为ASCII码传输,然后再转换回来。以下是一个简单的PHP代码示例,用于将字符串转换为ASCII码:
php// 将字符串转换为ASCII码function Binary2Str($str) { $ascii=''; for ($i=0; $i // 示例使用$chineseStr=这是一个示例字符串;$asciiStr=Binary2Str($chineseStr);echo ASCII码字符串: . $asciiStr;
1.[代码][PHP]代码
//把字符串转化为asscii码 function Binary2String($pIn){ $str = ''; $iOut=0; for($i = 0 ;$i<strlen($pIn);$i++){ $str .= Value2Ascii((ord($pIn[$i])&0xF0)>>4); $str .= Value2Ascii(ord($pIn[$i])&0x0F); } return $str; } function Value2Ascii($in){ switch($in){ case 0: return '0'; break; case 1: return '1'; break; case 2: return '2'; break; case 3: return '3'; break; case 4: return '4'; break; case 5: return '5'; break; case 6: return '6'; break; case 7: return '7'; break; case 8: return '8'; break; case 9: return '9'; break; case 10: return 'A'; break; case 11: return 'B'; break; case 12: return 'C'; break; case 13: return 'D'; break; case 14: return 'E'; break; case 15: return 'F'; break; default: return '?'; break; } return '?'; } //把asscii码转化为字符串 function DBStr2Binary($pIn){ $iOut = 0; $pOut = ''; for( $i = 0 ;$i<strlen($pIn)-1;){ if($pIn[$i]=='\0'|| $pIn[$i+1]=='\0'){ break; } $pOut .= chr((Ascii2Value($pIn[$i])<<4) + (Ascii2Value($pIn[$i+1]))); $iOut++; $i+=2; } return $pOut; } function Ascii2Value($in){ switch($in){ case '0': return 0; break; case '1': return 1; break; case '2': return 2; break; case '3': return 3; break; case '4': return 4; break; case '5': return 5; break; case '6': return 6; break; case '7': return 7; break; case '8': return 8; break; case '9': return 9; break; case 'A': return 10; break; case 'B': return 11; break; case 'C': return 12; break; case 'D': return 13; break; case 'E': return 14; break; case 'F': return 15; break; default: return '?'; break; } return '?'; } $str = '伟大的中国程序猿!'; $bin = Binary2String($str); echo $bin.'<br />'; $new_str = DBStr2Binary($bin); echo $new_str;
本文共计474个文字,预计阅读时间需要2分钟。
在有些时候,中文字符在不同平台上传送存储时容易产生乱码,这时可以将含有中文的字符串转换为ASCII码传输,然后再转换回来。以下是一个简单的PHP代码示例,用于将字符串转换为ASCII码:
php// 将字符串转换为ASCII码function Binary2Str($str) { $ascii=''; for ($i=0; $i // 示例使用$chineseStr=这是一个示例字符串;$asciiStr=Binary2Str($chineseStr);echo ASCII码字符串: . $asciiStr;
1.[代码][PHP]代码
//把字符串转化为asscii码 function Binary2String($pIn){ $str = ''; $iOut=0; for($i = 0 ;$i<strlen($pIn);$i++){ $str .= Value2Ascii((ord($pIn[$i])&0xF0)>>4); $str .= Value2Ascii(ord($pIn[$i])&0x0F); } return $str; } function Value2Ascii($in){ switch($in){ case 0: return '0'; break; case 1: return '1'; break; case 2: return '2'; break; case 3: return '3'; break; case 4: return '4'; break; case 5: return '5'; break; case 6: return '6'; break; case 7: return '7'; break; case 8: return '8'; break; case 9: return '9'; break; case 10: return 'A'; break; case 11: return 'B'; break; case 12: return 'C'; break; case 13: return 'D'; break; case 14: return 'E'; break; case 15: return 'F'; break; default: return '?'; break; } return '?'; } //把asscii码转化为字符串 function DBStr2Binary($pIn){ $iOut = 0; $pOut = ''; for( $i = 0 ;$i<strlen($pIn)-1;){ if($pIn[$i]=='\0'|| $pIn[$i+1]=='\0'){ break; } $pOut .= chr((Ascii2Value($pIn[$i])<<4) + (Ascii2Value($pIn[$i+1]))); $iOut++; $i+=2; } return $pOut; } function Ascii2Value($in){ switch($in){ case '0': return 0; break; case '1': return 1; break; case '2': return 2; break; case '3': return 3; break; case '4': return 4; break; case '5': return 5; break; case '6': return 6; break; case '7': return 7; break; case '8': return 8; break; case '9': return 9; break; case 'A': return 10; break; case 'B': return 11; break; case 'C': return 12; break; case 'D': return 13; break; case 'E': return 14; break; case 'F': return 15; break; default: return '?'; break; } return '?'; } $str = '伟大的中国程序猿!'; $bin = Binary2String($str); echo $bin.'<br />'; $new_str = DBStr2Binary($bin); echo $new_str;

