【问题标题】:Why is my ASCII to string conversion producing unicode?为什么我的 ASCII 到字符串的转换会产生 unicode?
【发布时间】:2022-07-06 01:08:48
【问题描述】:

下面是生成unicode,什么时候应该生成字符串?

let str = "hello";

let string = []
for(let s in str){
  string.push(str.codePointAt(s))
}
console.log(string) // ASCII

let back = []
for(let s in string){
  back.push(String.fromCharCode(s))
}
console.log(back) // unicode??

【问题讨论】:

  • for ... in 循环遍历对象的 。您的循环正在遍历字符串的字符索引。
  • 很可能这就是您正在寻找的答案。 stackoverflow.com/questions/36527642/…
  • 另请注意,.fromCharCode() 的参数是您想要的实际字符代码。你只是在传递索引。
  • @samakshshrivastava 我对此表示怀疑。这个问题中的代码根本没有意义。

标签: javascript node.js ascii


【解决方案1】:

for (let s in string) 迭代每个元素的索引。您正在将数字 012... 转换为字符并将它们推入字符串。

如果您在循环中添加一个简单的console.log(s),或者如果您检查输出,其中每个元素从 0 开始显然是连续的,这很明显:

['\x00', '\x01', '\x02', '\x03', '\x04', '\x05', '\x06', '\x07', '\b']

【讨论】:

  • 谢谢 - 有时我的眼睛会睁不开,我会错过明显的
猜你喜欢
  • 2018-03-21
  • 2010-12-09
  • 2013-07-19
  • 2017-06-11
  • 1970-01-01
  • 2015-03-29
相关资源
最近更新 更多