我知道用java怎么实现。例子如
public class cs {
public static void main(String args[]){
//JAVA字符串转换为十六进制的数 输出的结果:4e2d56fd4eba StringBuffer sb = new StringBuffer();
String fileName="中国人";
for (int i = 0; i < fileName.length(); i++) {
String temp = Integer.toHexString(fileName.charAt(i));
sb.append(temp);
}
System.out.println("输出的结果:"+sb.toString());
}
}求助用php怎么实现上面的效果呢。
谢谢大侠求助
public class cs {
public static void main(String args[]){
//JAVA字符串转换为十六进制的数 输出的结果:4e2d56fd4eba StringBuffer sb = new StringBuffer();
String fileName="中国人";
for (int i = 0; i < fileName.length(); i++) {
String temp = Integer.toHexString(fileName.charAt(i));
sb.append(temp);
}
System.out.println("输出的结果:"+sb.toString());
}
}求助用php怎么实现上面的效果呢。
谢谢大侠求助
function hex2bin($hexdata) {
$bindata = '';
for($i=0; $i < strlen($hexdata); $i += 2) {
$bindata .= chr(hexdec(substr($hexdata, $i, 2)));
}
return $bindata;
}
print hex2bin('ced2cac7d6d0b9fac8cb');
print "\n---------------------\n";
print bin2hex('我是中国人');
print "\n---------------------\n";
$p = unpack('H*s', iconv('gbk', 'UCS-2', $s));
echo $p['s']; //4e2d56fd4eba
public static void main(String args[]){
//JAVA字符串转换为十六进制的数 输出的结果:4e2d56fd4eba StringBuffer sb = new StringBuffer();
String fileName="中国人";
for (int i = 0; i < fileName.length(); i++) { String temp = Integer.toHexString(fileName.charAt(i));
sb.append(temp); }
System.out.println("输出的结果:"+sb.toString());
}
}
结果都不对
正确的输出值是:4e2d56fd4eba
唠叼老大什么时间给我等讲讲pack和unpack的用法啊!!这个资料太少了
/*方法说明*/
static String toHexString(int i)
以十六进制的无符号整数形式返回一个整数参数的字符串表示形式。
char charAt(int index)
返回指定索引处的 char 值。
iconv("原始数据编码","UCS-2","原始数据");
你就是要获取"中国人"3个字的unicode(16进制)码.
$p = unpack('H*s', iconv('gbk', 'UCS-2', $s));
echo $p['s']; //4e2d56fd4eba
我重新建立了一个工程。得到的结果是对的
我以前那个工程的页面是utf_8的。所以得到的结果是6d93