在尝试解析一些unicode文本字符串时,我遇到了一个看不见的字符,我找不到它的任何定义。如果我将其粘贴到文本编辑器中并显示不可见内容,我可以看到它看起来像一个项目符号(·alt-8),通过复制/粘贴它们,我可以看到它具有类似于空格或制表符的效果,但它不是这些效果。
我需要测试一下,比如...
if(uniChar == L'\t') 但我当然需要提供一些匹配的东西。
它具有UTF-8格式的字节0xc2 0xa0。
如果没有人有定义,有没有什么不好的方法来测试我不能定义的东西!?
(我碰巧在Objective-C、OSX、Xcode中使用了NSStrings,但我不认为这有任何影响。)
发布于 2013-03-01 18:38:15
UTF-8中的Bytes C2 A0对U+00A0 ɴᴏ-ʙʀᴇᴀᴋ sᴘᴀᴄᴇ进行编码,例如,可以用来隔离显示组合标记。它是 作为命名的超文本标记语言实体。它几乎与U+0020 sᴘᴀᴄᴇ相同,只是它防止在它之前或之后换行,并充当双向布局的数字分隔符。
当您要求文本编辑器显示不可见内容时,您看到的点恰好就是文本编辑器选择显示空格的字形。这并不意味着有问题的字符是U+00B7 ᴍɪᴅᴅʟᴇ ᴅᴏᴛ,它肯定不是看不见的。
在代码中,如果您将其作为unichar,则可以将其与L'\x00A0'进行比较。
https://stackoverflow.com/questions/15142338
复制相似问题