javascript - Unicode 值\uXXXX 到 Javascript 中的字符

标签 javascript encoding character-encoding string-decoding

我以前从未这样做过,我不确定为什么它会输出臭名昭著的 编码字符。关于如何输出字符(ASCII+Unicode)的任何想法?我认为 \u0041-\u005A 应该以 UTF-8 打印 A-Z,Firefox 报告的是页面编码。

   var c   = new Array("F","E","D","C","B","A",9,8,7,6,5,4,3,2,1,0);
   var n   = 0;
   var d   = "";
   var o   = "";

   for (var i=16;i--;){
      for (var j=16;j--;){
         for (var k=16;k--;){
            for (var l=16;l--;){

               d =  c[i].toString()
                 +  c[j].toString()
                 +  c[k].toString()
                 +  c[l].toString();

               o += ( ++n + ": " 
                    + d   + " = " 
                    + String.fromCharCode("\\u" + d) 
                    + "\n<br />" );

               if(n>=500){i=j=k=l=0;} // stop early
            }
         }
      }
   }

   document.write(o);

最佳答案

.fromCharCode() 函数接受一个数字,而不是一个字符串。您不能将这样的字符串放在一起并期望解析器按照您的想法进行;这不是语言的工作方式。

您可以修改您的代码以从您的十六进制数生成一个字符串(不带'\u'),然后调用

var n = parseInt(hexString, 16);

获取值。然后你可以用那个值调用.fromCharCode()

关于javascript - Unicode 值\uXXXX 到 Javascript 中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3835317/

相关文章:

javascript - For 循环内的闭包

Javascript 规范 : promises chains and omitted expectations

php - 中文字符在数据库中以空白结尾

sql - MySql中utf8_general_ci和utf8_unicode_ci有什么区别?

character-encoding - 将 ISO-8859-1/Latin-1 转换为字符串 (UTF-8) 有哪些选项?

Java AES/CFB8/NoPadding 加密和字符集

javascript - 使 best_in_place 输入看起来像 Bootstrap 输入

javascript - eslint 脚本因meteor run npm eslint 失败

csv - 使用pyspark读取csv文件时编码错误

html - Firefox 不显示 CP437