ruby – 相同的字符串但不同的字节代码
我有两个字符串:
a = 'ha? n??i' b = 'hà n?i' 当我将它们与== b进行比较时,它返回false. 我检查了字节码: a.bytes = [104,97,204,128,32,110,195,180,163,105] b.bytes = [104,160,225,187,153,105] 原因是什么?如何修复它以使a == b返回true? 解决方法
这是
Unicode equivalence的问题.
为了比较这些字符串,您需要对它们进行标准化,以便它们对这些类型的字符使用相同的字节序列. a.unicode_normalize == b.unicode_normalize unicode_normalize(form =:nfc)[link]
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |