大约一周前,我发现了一个非常好的从文本到十六进制的转换器。试图将textarea转换为nodejs中的十六进制
但是,我没有用换行符测试文本。突然我的NodeJS应用程序返回此: FUF
代替:
˚F
˚F
十六进制,根据string-functions.com应该660d0a0d0a66但我的应用程序返回66da66
这里我的“toHex”和“toText”代码。这种转换并不是我最重要的一点。
var toHex = function toHex (str) {
var hex = ''
for (var i = 0; i < str.length; i++) {
hex += '' + str.charCodeAt(i).toString(16)
}
return hex
}
var toText = function (hexx) {
var hex = hexx.toString() // force conversion
var str = ''
for (var i = 0; i < hex.length; i += 2) {
str += String.fromCharCode(parseInt(hex.substr(i, 2), 16))
}
return str
}
编辑: 当我插入660d0a0d0a66直接进入我的转换器将其转换为:FF,所以有问题出现,以及....
我有点困惑在这里...你为什么不只是做一个简单的'parseInt函数(STR)的ToString(16)'代替写整个toHex函数? – kennasoft
,因为当我尝试使用parseInt(str).toString(16)它返回NaN(不是数字) – Rachelle