我正在将十六进制字符串发送到函数并使用 c# 将其作为字节数组返回,但现在要求是在 NodeJs 中执行此操作。
我对此进行了太多搜索,但非解决方案给了我相同的结果
这是我的带有这个十六进制字符串的 c# 代码
`8001000501335688003300020002000200`
public static byte[] StringToByteArray(string hex)
{
var byteArray = Enumerable.Range(0, hex.Length)
.Where(x => x % 2 == 0)
.Select(x =>Convert.ToByte(hex.Substring(x,2),16))
.ToArray();
return byteArray;
}
我在 NodeJs 中尝试了这段代码,但没有得到相同的结果
function StringToByteArray(hex) {
var rangebytes = range(0, hex.length).filter(x => x % 2 == 0)
var filteredHex = rangebytes.match(x =>
Buffer.from(hex.substring(x, 2), "utf8"));
return filteredHex;
}
function range(start, count) {
return Array.apply(0, Array(count))
.map(function (element, index) {
return index + start;
});
}
这是 c# 代码 http://prntscr.com/m7xnzg的结果
慕的地10843
慕妹3146593
相关分类