据我所知,这是python的概念,只有在字符串中有效的字符,但在我的情况下,操作系统将提供无效的编码字符串,我必须处理的路径名称。所以我最终得到的字符串包含非Unicode的字符。如何在Python中替换字符串中的无效Unicode字符?
为了纠正这些问题,我需要以某种方式显示这些字符串。不幸的是我不能打印它们,因为它们包含非Unicode字符。有没有一种优雅的方式来以某种方式替换这些字符,以至少了解字符串的内容?
我的想法是按字符处理这些字符串,并检查存储的字符是否实际上是有效的unicode。如果字符无效,我想使用某个unicode符号。但我该怎么做?使用codecs
似乎不适合这个目的:我已经有一个字符串,由操作系统返回,而不是一个字节数组。将字符串转换为字节数组似乎涉及解码,当然我的情况会失败。所以看来我被卡住了。
你有一个提示,我如何能够创建这样一个替换字符串?
请在你的问题的样本串;使用'print repr(obj)'来产生样本。您可能可以使用适当的'errors'模式让Python为您插入占位符。 –
。解码(“utf-8”,“忽略”)忽略坏字符。 – les
在bash shell中,我将问号标记为替换字符。在文件管理器中,我看到一个倒置的问号。 –