请问javascript中有没有类似PHP的bin2hex函数,并能支持UTF-8类型的中文成为Hex?

时间:2023-01-06 22:05:06
在PHP中,有一个bin2hex的函数可以把字符串转化成十六进制编码,然后使用pack方法再转回来,并且这个过程支持中文(UTF-8)。我想请问javascript中是否也有类似bin2hex的方法,能被php的pack方法转回来,并且支持中文字符串??谢谢。

6 个解决方案

#2


好像没什么用。我曾经在网上搜到一个bin2hex的js函数,但用pack还原后只对英文有效,并不支持中文。

比如在PHP中,使用bin2hex转化“上”字得到的结果是e4b88a,但在js中却是4e0a。

#3


自己写了一个,如下所示:

<html>

<head>
<meta http-equiv="" content="text/html; charset=UTF-8">
<title></title>
<style type="text/css">
<!--
-->
</style>
<script language="javascript" type="text/javascript">
<!--
function binToHex(){
var str = prompt("请输入你想转化成十六进制编码的字符串", "");
var ar=[];
for (var i = 0; i < str.length; i++) {
    var a= str.charCodeAt(i);
ar.push(a);
}
str=ar.join("\\x");
str="\\x"+str;
alert(str);
return str;
}
//-->
</script>
</head>

<body>
<script language="javascript" type="text/javascript">
<!--
binToHex();
//-->
</script>
</body>
</html>

#4


不错, 学习!

#5


用了上面的function,尝试转化“上”字,出来的编码是19978,但可以被pack的正确编码是e4b88a,是不是还有一步的转化??

#6


该回复于2012-08-28 11:26:28被版主删除

#1


#2


好像没什么用。我曾经在网上搜到一个bin2hex的js函数,但用pack还原后只对英文有效,并不支持中文。

比如在PHP中,使用bin2hex转化“上”字得到的结果是e4b88a,但在js中却是4e0a。

#3


自己写了一个,如下所示:

<html>

<head>
<meta http-equiv="" content="text/html; charset=UTF-8">
<title></title>
<style type="text/css">
<!--
-->
</style>
<script language="javascript" type="text/javascript">
<!--
function binToHex(){
var str = prompt("请输入你想转化成十六进制编码的字符串", "");
var ar=[];
for (var i = 0; i < str.length; i++) {
    var a= str.charCodeAt(i);
ar.push(a);
}
str=ar.join("\\x");
str="\\x"+str;
alert(str);
return str;
}
//-->
</script>
</head>

<body>
<script language="javascript" type="text/javascript">
<!--
binToHex();
//-->
</script>
</body>
</html>

#4


不错, 学习!

#5


用了上面的function,尝试转化“上”字,出来的编码是19978,但可以被pack的正确编码是e4b88a,是不是还有一步的转化??

#6


该回复于2012-08-28 11:26:28被版主删除