比较不同编码的字符串
Compare strings with different encodings
我只需要在JavaScript中与字符串进行比较,有时特定字符串的比较会失败。
jQuery通过text()
方法(从一些自动生成的HTML中)获得了一个值:
var value1 = $('#somelement').text();
另一个值被硬编码在一个JavaScript文件中(来自我)。
经过一些测试,我发现这些字符串有不同的编码,当我用escape()
函数记录它们时,这一点就变得很清楚了。
Firebug向我展示了这样的东西:
console.log(escape(value1));
"blabla%A0%28blub%29"
console.log(escape(value2));
"blabla%20%28blub%29"
所以最后,是带有不同编码的空白使我的比较失败了。
所以我的问题是:如何正确处理这个问题?我可以将空白替换为相等吗?但我想还有其他控制字符,比如制表符、回车符等等,可能会打乱我的比较?
所以最后,是带有不同编码的空白使我的比较失败了。
不,这不是不同的编码。它只是一个不同的空格——一个不间断的空格。
我可以将空白替换为相等吗?但我想还有其他控制字符,比如制表符、回车符等等,可能会打乱我的比较?
您可以替换所有这些。你可能想试试之类的东西
value1.replace(/'s+/g, " ").replace(/^'s*|'s$/g, "") == value2
它将多个空白(各种类型,包括返回)连接到一个空间,并在比较之前修剪字符串。
相关文章:
- 如何在JavaScript/Node中计算SHA256哈希和Base64字符串编码
- 使用node.js中的windows 1252对字符串进行编码
- 在JavaScript中生成安全、随机、Ascii编码的字符串
- 使用 MVC 删除 JavaScript 中硬编码字符串 Asp.Net 最佳方法
- 需要使用Java编码/转义HTML字符串,并在JavaScript中解码HTML字符串
- 将字符串编码为HEX
- Javascript;php:如何将普通字符串编码为编码的短字符串
- Chrome 扩展字符串编码
- 构造 Blob 时的字符串编码
- 如何即时将字符串编码的 PHP 正则表达式转换为 JS 正则表达式
- Javascript vs Java - 字符串编码
- 调用以字符串编码的 javascript 函数
- 如何直接在 JavaScript 中将字符串编码为 UTF-8
- 有没有跨平台的方法可以将一个字符串编码为另一个没有空格的字符串,然后将其解码回来
- 注意事项将C#字符串编码为Javascript字符串
- 字符串编码html
- 如何在PHP中将Javascript字符串编码为Unicode并将其解码为utf-8
- 为JSON字符串编码HTML
- 在javascript中将字符串编码为utf-16到base64
- 为QRCode生成将字符串编码为小尺寸