c#里Encoding.BigEndianUnicode.GetBytes("aa123") 转换成php怎么写啊? rt 我转换c#代码成php 里面有句 Encoding.BigEndianUnicode.GetBytes("aa123") 我不知道该用php怎么表达了、。请大家帮帮忙! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 iconv("字符串原编码","BigEndianUnicode",$str); GB2312、ANSI、Unicode、bigendianUnicode、UTF-8这些都是字符编码。就是不知道php支持bigendianUnicode这种编码不,没试过。如果能转成功,那你还要将转换后的结果字符转为16进制的,貌似bigendianUnicode是16进制的。 我的是gb2312 就改成 iconv("gb2312","BigEndianUnicode",$str); 是吗 我试试 还要将转换后的结果字符转为16进制的.那样才会和Encoding.BigEndianUnicode.GetBytes("aa123") 的效果一样。Encoding.BigEndianUnicode.GetBytes("aa123") 是得到的16进制码 urlencode(string $str)吗 function strToHex($string) { $hex=""; for ($i=0;$i<strlen($string);$i++) $hex.=dechex(ord($string[$i])); $hex=strtoupper($hex); return $hex; } function hexToStr($hex) { $string=""; for ($i=0;$i<strlen($hex)-1;$i+=2) $string.=chr(hexdec($hex[$i].$hex[$i+1])); return $string; } pack("H*",$str); 这个不能用吧。 你发的是 476574515147726F75704D73 但是 我得到的是 全是数字的 byte数组啊 你发的得到的结果 476574515147726F75704D73 但是 我得到的是 全是数字的 byte数组啊 说了半天。C#得到的是什么东西?unicode的16进制还是10进制 数组? ac{byte[26]} [0]: 0 [1]: 71 [2]: 0 [3]: 101 [4]: 0 [5]: 116 [6]: 0 [7]: 81 [8]: 0 [9]: 81 [10]: 0 [11]: 71 [12]: 0 [13]: 114 [14]: 0 [15]: 111 [16]: 0 [17]: 117 [18]: 0 [19]: 112 [20]: 0 [21]: 77 [22]: 0 [23]: 115 [24]: 0 [25]: 103这是c# 得到的 function strToHex($string){ $hex=array(); for ($i=0;$i<strlen($string);$i++){ $hex[]=dechex(ord($string[$i])); } return $hex; } function hexToStr($hex){ $string=""; foreach ($i=0;$i<count($hex)-1;$i+=2) $string.=chr(hexdec($hex[$i].$hex[$i+1])); return $string; }GetBytes得到的是16进制数组。 赋值的时候 应该 $hex[i]=dechex(ord($string[$i]));等我试试啊、 、 $o = unpack("C*","aa123"); print_r($o);//dec print_r(array_map("dechex",$o));//hex 查询问题 请问架构中用到了PEAR,使用了DB_DATAOBJECT,怎样在设置查询MYSQL的字符集 关于验证码 校验问题! 求解答~! 我的这个网页为什么在文本框内按enter后自动提交啊??? curl *** 高难问题,关于数据库返回结果,请教各位,UP有分! *** 一个JS问题 请教高人:关于is_uploaded_file 怎么删除超过200条记录以后的记录?? 有没有WEB邮件系统的PHP源代码 mysql_fetch_object的报错问题....学生作业的问题 zend studio 7.1的ftp链接问题[高分在线等]
就是不知道php支持bigendianUnicode这种编码不,没试过。如果能转成功,那你还要将转换后的结果字符转为16进制的,貌似bigendianUnicode是16进制的。
iconv("gb2312","BigEndianUnicode",$str); 是吗 我试试
那样才会和Encoding.BigEndianUnicode.GetBytes("aa123") 的效果一样。
Encoding.BigEndianUnicode.GetBytes("aa123") 是得到的16进制码
{
$hex="";
for ($i=0;$i<strlen($string);$i++)
$hex.=dechex(ord($string[$i]));
$hex=strtoupper($hex);
return $hex;
}
function hexToStr($hex)
{
$string="";
for ($i=0;$i<strlen($hex)-1;$i+=2)
$string.=chr(hexdec($hex[$i].$hex[$i+1]));
return $string;
}
你发的是 476574515147726F75704D73 但是 我得到的是 全是数字的 byte数组啊
{byte[26]}
[0]: 0
[1]: 71
[2]: 0
[3]: 101
[4]: 0
[5]: 116
[6]: 0
[7]: 81
[8]: 0
[9]: 81
[10]: 0
[11]: 71
[12]: 0
[13]: 114
[14]: 0
[15]: 111
[16]: 0
[17]: 117
[18]: 0
[19]: 112
[20]: 0
[21]: 77
[22]: 0
[23]: 115
[24]: 0
[25]: 103
这是c# 得到的
function strToHex($string){
$hex=array();
for ($i=0;$i<strlen($string);$i++){
$hex[]=dechex(ord($string[$i]));
}
return $hex;
}
function hexToStr($hex){
$string="";
foreach ($i=0;$i<count($hex)-1;$i+=2)
$string.=chr(hexdec($hex[$i].$hex[$i+1]));
return $string;
}
GetBytes得到的是16进制数组。
print_r($o);//dec
print_r(array_map("dechex",$o));//hex