因为貌似JS不能识别这样的字符串? \x0A\xBF
,求指教
楼上虽然说得对,但感觉绕了一个弯
String
类有个方法,叫做charCodeAt
, 传入一个index
, 直接返回 10 进制的字符码
比如"\x0a".charCodeAt(0)
返回10
代码如下:
function toCodeNumber(str){
var result = [];
//循环每个字符,计算charCode, 存入 result 中
Array.from(str).forEach(e=>result.push(e.charCodeAt(0)));
return result;
}
toCodeNumber("\x0a\xbf");
//result [10, 191]
关于\x
\x表示你后面的数字是16进制的数字
javascript的Number类型
16进制
字面值的前两位必须是0x
,后面跟任何16进制数字(0~9以及A~F)。其中A~F可大写也可小写。
// 例子
var num = 0xA;
var num = 0x1f;
javascript 中 16进制
转 10进制
parseInt(num, 16);
综上
1.你的字串是\x0A\xBF
2.替换\x
3.转化为10进制