【发布时间】:2014-03-12 19:48:13
【问题描述】:
我想使用 JavaScript 连接一个十六进制值和一个字符串。
var hexValue = 0x89;
var png = "PNG";
字符串“PNG”相当于0x50、0x4E和0x47的串联。
通过连接hexValue 和png
var concatHex = String.fromCharCode(0x89) + String.fromCharCode(0x50)
+ String.fromCharCode(0x4E) + String.fromCharCode(0x47);
...给出一个字节数为 5 的结果,因为第一个十六进制值需要一个控制字符:
C2 89 50 4E 47
我正在处理具有hexValue 和png 的原始图像数据,并且需要在不包含此控制字符的情况下将它们连接起来。
- 有没有办法去掉控制字符?
- 鉴于我有一个字节数组,有没有更好的方法来连接它们和一个字符串,同时保留字节?
【问题讨论】:
-
我知道这听起来很奇怪,但是寻找一个在 Firefox 3 中使用二进制 ajax 的旧示例,你会找到你需要的循环代码......
-
@dandavis,你有那个链接吗?我已经将我的十六进制和字符串作为变量。
-
@Mat 你的字符串是 utf8 编码的吧?
-
@emcas88,是的。可以假设。
-
我说的是 binChar = char % 255 的循环体
标签: javascript utf-8 hex concatenation