js字符串的中文乱码
时间: 2024-01-04 07:02:24 浏览: 191
在JavaScript中,字符串的编码方式是UTF-16,而不是UTF-8。因此,在处理中文字符串时,需要注意一些细节,否则可能会出现乱码的情况。
以下是一些处理中文字符串的方法:
1. 使用encodeURIComponent()函数对中文进行编码,再进行传输和处理。
```javascript
var str = "你好,世界!";
var encodedStr = encodeURIComponent(str);
console.log(encodedStr); // 输出:%E4%BD%A0%E5%A5%BD%EF%BC%8C%E4%B8%96%E7%95%8C%EF%BC%81
```
2. 使用String.fromCharCode()函数将Unicode编码转换为字符。
```javascript
var unicodeStr = "\u4f60\u597d\uff0c\u4e16\u754c\uff01";
var str = "";
for (var i = 0; i < unicodeStr.length; i += 2) {
str += String.fromCharCode(parseInt(unicodeStr.substr(i, 2), 16));
}
console.log(str); // 输出:你好,世界!
```
3. 使用ES6中的新特性,如String.fromCodePoint()函数,直接将Unicode码点转换为字符。
```javascript
var unicodeStr = "U+4F60U+597D";
var str = "";
unicodeStr.split("U+").forEach(function(code) {
if (code) {
str += String.fromCodePoint(parseInt(code, 16));
}
});
console.log(str); // 输出:你好
```
阅读全文