要加密,则需要将字符串转为ASCII的字节数组。反之,则要转回来。代码为什么速度快?那就是,能不用FOR循环的,直接不用。使用PHP原有的函数,让它实现,这是最快的。
<?php
function stringToByteArray($str,$charset) {
$str = iconv($charset,'UTF-16',$str);
preg_match_all('/(.)/s',$str,$bytes); //注:本文的盗版已经有了。不过,提示一下读者,这里的正则改了。
$bytes=array_map('ord',$bytes[1]) ;
return $bytes;
}
function byteArrayToString($bytes,$charset) {
$bytes=array_map('chr',$bytes);
$str=implode('',$bytes);
$str = iconv('UTF-16',$charset,$str);
return $str;
}
$byteArray=stringToByteArray('13亿人口大国,自认为精通PHP的还是相当多的!','utf-8');
print_r($byteArray);
$retStr=byteArrayToString($byteArray,'utf-8');
echo $retStr;
?>
每个函数只有4行代码,没有FOR循环,但当文本相当长时,你就能发现,差别真的很大。
注:希望各位读者注意:本人博文如未注明是转发,全系本人原创。网上盗用版本甚多。但由于博文在发布时,有可能是多次编辑增加内容,或因有瑕疵而需要修改。所以,请来这里查看原创正版。
分享到:
相关推荐
16进制与字符串、字节数组之间的转换 16进制与字符串、字节数组之间的转换
介绍php字符串与byte字节数组转化类,转换一个String字符串为byte数组,将字节数组转化为String类型的数据,转换一个int为byte数组,从字节数组中指定的位置读取一个Integer类型的数据,转换一个shor字符串为byte...
字符串转化为16进制的数组,字节数组如何转化为字符串
web应用中,客户端和服务器端需要交换信息,字符串形式的信息交互是...如果字符串中有中文,客户端在信息发送前需要把它转换为字节数组,转换的时候需要采用指定的编码。 本文提供的方法不需要指定编码,是通用的方法。
对字符串,字节数组进行GZIP压缩和解压缩
labview,ASCII码字符串与字节数组的互转,十六进制,例如:字符串BA34转字节数组结果为BA,34
winform 字符串和字节数组转换源码! 很值得下载看看!资源免费,大家分享!!
vb6.0 编程实现字节数组和字符串的相互转换,演示如何进行字节数组和字符串的相互转换.
实例如下: # bytes object b = bexample # str object s = example ...以上这篇python字符串str和字节数组相互转化方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多
C#16进制与字符串字节数组之间的转换,提供四个转换方法(到16进制 汉字 字节)
C#字节数组转16进制字符串 C#字节数组转16进制字符串 QQ:292258449
UTF8,ANSI,UTF7,UNICODE,UTF32等字符集字符串与字节数组互转工具,方便调试学习
数组和字符串.ppt数组和字符串.ppt数组和字符串.ppt数组和字符串.ppt
遍历字符串-返回数组遍历字符串-返回数组遍历字符串-返回数组
C#16进制与字符串、字节数组之间的转换[归类].pdf
字符串数组 matlab 字符串数组 matlab字符串数组 matlab字符串数组 matlab字符串数组 matlab字符串数组 matlab字符串数组 matlab字符串数组 matlab字符串数组 matlab字符串数组 matlab字符串数组 matlab字符串数组 ...
matlab数组字符串 matlab数组字符串matlab数组字符串matlab数组字符串matlab数组字符串matlab数组字符串matlab数组字符串matlab数组字符串matlab数组字符串matlab数组字符串matlab数组字符串matlab数组字符串matlab...
代码如下:/// <summary> /// 字符串转16进制字节数组 /// </summary> /// ”hexString”></param> /// <returns></returns> private static byte[] strToToHexByte(string hexString) { hexString = hexString....