【发布时间】:2018-01-23 08:16:53
【问题描述】:
我需要从字符串中删除非 UTF-8 字符。这是文本的快照。
这是我在 NPP 中打开字符串,然后将编码设置为 UTF-8 时的样子:
我认为ACK 和FF 是非UTF-8 字符。
我试过str.scrub 和str.encode。它们似乎都不起作用。 scrub 返回相同的结果,encode 导致错误。
【问题讨论】:
-
您能解释一下哪些字符是“非 UTF-8”吗?为什么您认为是这样?
-
如果您看到随附的屏幕截图,我认为第一个字符不是 UTF-8。此外,向左的箭头符号。当我在此处复制并粘贴字符串时,SO 站点会自动丢弃这些字符串。所以,请参考截图。
-
我有一个问题定义,上面写着“从 /dev/urandom 读取 X 字节并删除所有非 UTF-8 字符”。也许,这意味着删除不可打印的字符。
-
UTF-8 字符由一到四个字节组成。并非每个字节(或字节序列)都是有效的 UTF-8。另一方面,并非每个 UTF-8 字符都可以打印或单独打印。