如何用JS将一段十六进制(HEX)字符串转换为汉字?

供稿:hz-xin.com     日期:2025-01-09
如何将JPG文件转换为十六进制字符串

字符是指String?
十六进制字符串,指十六进制数字对应的字符串?

那就是

Integer.toHexString( (byte) String.charAt(i) )

public class Test {
private static String hexString = "0123456789ABCDEFabcdef";
public static void main(String[] args) {
String msg= "亲,你好";
System.out.println(encode(msg));
System.out.println(decode(encode(msg)));
}

public static String encode(String str) {
byte[] bytes = str.getBytes();
StringBuilder sb = new StringBuilder(bytes.length * 2);
//转换hex编码
for (byte b : bytes) {
sb.append(Integer.toHexString(b + 0x800).substring(1));
}
str = sb.toString();
return str;
}
//把hex编码转换为string
public static String decode(String bytes) {
bytes = bytes.toUpperCase();
ByteArrayOutputStream baos = new ByteArrayOutputStream(bytes.length() / 2);
// 将每2位16进制整数组装成一个字节
for (int i = 0; i < bytes.length(); i += 2)
baos.write((hexString.indexOf(bytes.charAt(i)) << 4 | hexString.indexOf(bytes.charAt(i + 1))));
return new String(baos.toByteArray());
}
}

很简单,每两个字符前面加一个%,然后用decodeURI转换就行了
文件必须存成utf-8格式
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<div id="d1">
<script type="text/javascript">
var hi = '7465737420e6b58be8af95';
//var hj = '%74%65%73%74%20%e6%b5%8b%e8%af%95';
var hj = prePro(hi);
document.write(hi);
document.write('<br />');
document.write(hj);
document.write('<br />');
document.write(decodeURI(hj));
function prePro(data)
{
if (data.length % 2) return '';
var tmp='';
for(i=0;i<data.length;i+=2)
{
tmp += '%' + data.charAt(i) + data.charAt(i+1);
}
return tmp;
}
</script>
</div>
</body>
</html>

在js里面应该有%u74%u65这样的才能够写通用的程序来转你这个字符串.
因为你这个test部分是两位的,
汉字部分是六位的.
就算写出程序也无法通用的.

是加密的,不是(HEX)字符

明显是加密的

如何用JS将一段十六进制(HEX)字符串转换为汉字?
很简单,每两个字符前面加一个%,然后用decodeURI转换就行了 文件必须存成utf-8格式 var hi = '7465737420e6b58be8af95';\/\/var hj = '%74%65%73%74%20%e6%b5%8b%e8%af%95';var hj = prePro(hi);document.write(hi);document.write('');document.write(hj);document.write...

如何用JavaScript实现Hex与ASCII之间的转换
可以照如下方式进行转换:Js代码 var hex="0x29";\/\/十六进制 var charValue = String.fromCharCode(hex);\/\/生成Unicode字符 var charCode = charValue.charCodeAt(0);\/\/获取指定字符的十进制表示.var hexOri="0x"+charCode.toString(16);;\/\/将int值转换为十六进制 alert("hex:"+hex+"\\ncharValue...

求高手javascript 10进制转16进制补零
因为js里没有类似 '0'*x的方法,也没有类似用1个字符串不足到指定长度的函数,所以只能自己写 function str_pad( hex ){ var zero = '00000000';var tmp = 8-hex.length;return zero.substr(0,tmp) + hex;}

利用vbscript 将中文转换成HEX 十六进制的编码
其实改用下面的方法更简单:str="abcd测试!"ss=""for i=1 to len(str)s=hex(asc(mid(str,i,1)))if len(s) mod 2=1 then s="0" & s ss=ss & s next WScript.Echo ss

hex怎么转换成
不要找程序了,我写了段js代码,保存为a.html(网页)。浏览器打开就行了 function yunsuan(num){ var num=parseInt(num,16);var show=document.getElementById("show");show.innerHTML="得到的10进制数为:"+num;} 请输入16进制数(如果不为16进制,返回的结果将是错误的结果): ...

请教大牛们,js 如果把16进制转成汉字
var hexCode = '6211';var code = parseInt(hexCode, 16);var a = String.fromCharCode(code);alert(a);

【Node】理解和实现Base64编码和Hex编码
对于hex编码,因为使用4个二进制位表示一个字符,所以无需添加额外字节。通过将原始字符转换为16进制表示,即可完成编码过程。在加密与解密过程中,使用hex和base64编码的主要优势在于它们以友好的方式显示密文,并且使用字符集来自ASCII字符集,确保在所有支持ASCII的机器上都能正常显示。相比于utf8编码可能...

用JS写个计算器,要有=-*\/,还有10进制换其他的进制
<CENTER>提示:先输入要转换的数,点击相关按钮进行转换。<BR>HEX:将十进制转十六进制 <BR>OCT:将十进制转八进制<BR>BIN:将十进制转二进制 <\/CENTER> <DIV align=center> <TABLE height=60 cellSpacing=0 cellPadding=0 width=249 align=center bgColor=#d4d0c8 border=1> <TBODY> <TR> <TD ...

自己写一个十进制转其他进制的Javascript
New Document function hex(){ var a = document.getElementById("t1").value;for(s="";a;a=a\/16|0)s="0123456789ABCDEF".charAt(a%16)+s;alert(s);} function dec2bin(){ var dec = document.getElementById("t1").value; var bin = ""; while (dec > ...

js中有没有把十六进制数转换成Unicode字符的函数
根本不用你编写十六进制转换unicode document.writeln(escape("你好"))再给你几个函数encodeURI,encodeURIComponent unescape 方法 这些方法足够你完成中文参数传递