Javascript 为什么Firefox中的console.dir()会给出以下结果(UTF-8)?

Javascript 为什么Firefox中的console.dir()会给出以下结果(UTF-8)?,javascript,firefox,utf-8,console,Javascript,Firefox,Utf 8,Console,假设有一个代码(UTF-8,带有西里尔字母表) 为什么在控制台(FF 25.0)的第二种情况下显示胡言乱语? 系统仍然无法插入图片,因此只能通过参考查看图像这很可能是一个错误console.dir如果读取属性,则似乎只读取每个字符的最低字节: function asciify(s){ var i, r = []; for(i = 0; i < s.length; ++i){ r.push(String.fromCharCode(s.charCodeAt(i)

假设有一个代码(UTF-8,带有西里尔字母表)

为什么在控制台(FF 25.0)的第二种情况下显示胡言乱语?
系统仍然无法插入图片,因此只能通过参考查看图像

这很可能是一个错误
console.dir
如果读取属性,则似乎只读取每个字符的最低字节:

function asciify(s){
    var i, r = [];
    for(i = 0; i < s.length; ++i){
        r.push(String.fromCharCode(s.charCodeAt(i) & 0xff));
    }
    return r.join("");
}

console.log(asciify('Съешь ещё этих мягких французских булок'));
函数ascify(s){
var i,r=[];
对于(i=0;i

但是,当您对字符串使用
console.dir
时,它似乎使用了
console.log
,它可以正确解释非ASCII符号。您应该提交一份错误报告。

+1表示фзззззззззззззз。非常美味。
function asciify(s){
    var i, r = [];
    for(i = 0; i < s.length; ++i){
        r.push(String.fromCharCode(s.charCodeAt(i) & 0xff));
    }
    return r.join("");
}

console.log(asciify('Съешь ещё этих мягких французских булок'));