Javascript 为什么我从日志中复制的数字会出现意外行为

Javascript 为什么我从日志中复制的数字会出现意外行为,javascript,numbers,Javascript,Numbers,我抄了号码‭7549495‬ 从我的Laravel日志文件中,这实际上是我从textlocal(一种消息服务)发送的消息的一部分。发送消息时,它表示您的消息无效。所以,在研究了所有可能的问题后,我复制了这个数字,并试图找出它的长度,我发现了一些意想不到的行为 我在浏览器控制台中复制了这个数字,并试图将其作为字符串写入,找到它的长度。它显示长度为9,尽管它只有7位数字。然后在另一个变量中,我使用了相同的数字,但这次我没有直接复制它,而是键入了数字,这次我得到的长度为7,这是正确的。(附屏幕截图。)

我抄了号码‭7549495‬ 从我的Laravel日志文件中,这实际上是我从textlocal(一种消息服务)发送的消息的一部分。发送消息时,它表示您的消息无效。所以,在研究了所有可能的问题后,我复制了这个数字,并试图找出它的长度,我发现了一些意想不到的行为

我在浏览器控制台中复制了这个数字,并试图将其作为字符串写入,找到它的长度。它显示长度为9,尽管它只有7位数字。然后在另一个变量中,我使用了相同的数字,但这次我没有直接复制它,而是键入了数字,这次我得到的长度为7,这是正确的。(附屏幕截图。)

我认为在复制数字时,某些特殊字符也会被复制,但如果是这样,那么为什么额外的字符不可见呢 请解释为什么会发生这种行为,谢谢

号码是:‭7549495‬

(我直接从我的日志中复制并粘贴了这个号码,请从这里复制,也许你可以在自己的网站上重新创建这个号码)

您的号码开头有字符(从左到右覆盖),结尾有字符(弹出方向格式)。我是这样决定的:

console.log(
[..."‭7549495‬"].映射(c=>“0x”+c.codepoint(0).toString(16).padStart(2,“0”))
);
您的数字开头有字符(从左到右覆盖),结尾有字符(弹出方向格式)。我是这样确定的:

console.log(
[..."‭7549495‬“].map(c=>“0x”+c.codepoint(0).toString(16).padStart(2,“0”))

)
超级不可见字符,即使在JSFIDLE editor上也不会显示,它通常会显示所有不可见字符。@Teemu-:-)
vim
会显示它们。但是现在我只做了上面这样的循环。@T.J.Crowder谢谢:)超级不可见字符,即使在JSFIDLE editor上也不会显示,它通常会显示所有不可见字符rs.@Teemu-:-)
vim
显示了它们。但是这些天我只是做了一个如上所述的循环。@T.J.Crowder谢谢:)有一个空格字符(显然看不见)在您粘贴的数字之前和之后。无法说明日志生成该数字的原因,但请确保您的字符集是UTF-8或类似的标准。有一个空白字符(显然无法看到)在粘贴的数字之前和之后。无法说明日志生成该数字的原因,但请确保您的字符集是UTF-8或类似的标准。