string.replace(fromCharCode(),'')无法替换字符

use*_*017 4 javascript fromcharcode

当我解析XML时,它包含异常的十六进制字符。因此,我尝试将其替换为空白空间。但这根本不起作用。

原始字符:?

hex code : (253, 255)
Run Code Online (Sandbox Code Playgroud)

代码:

xmlData = String.replace(String.fromCharCode(253,255)," ");

retrun xmlData;
Run Code Online (Sandbox Code Playgroud)

我想从描述中删除“ýÿ”字符。是否有人在将十六进制字符替换为空白时遇到麻烦?

根据答案,我将代码修改如下:

testData = String.fromCharCode(253,255);
xmlData = xmlData.replace(String.fromCharCode(253,255), " "); 
console.log(xmlData);
Run Code Online (Sandbox Code Playgroud)

但它仍然显示'?' 屏幕上..

你知道为什么还是这样吗?

Leo*_*nid 5

字符代码实际上是255 * 256 + 253 = 65533,因此您将获得以下内容:

xmlData = xmlData.replace(String.fromCharCode(65533)," ");
Run Code Online (Sandbox Code Playgroud)

字符串String.fromCharCode(253,255)是两个字符。


Jon*_*ram 3

您应该调用replace()字符串实例而不是String

\n\n
var testData = String.fromCharCode(253,255);\nvar xmlData = testData.replace(String.fromCharCode(253,255), " ");\nalert(xmlData);\n
Run Code Online (Sandbox Code Playgroud)\n\n

\xe2\x80\x8b工作示例:http://jsfiddle.net/StURS/2/

\n