假设你有一个字符串
s = "C:\Users\Eric\Desktop\beeline.txt"
如果您的文本尚未使用Unicode编码,那么您希望将其转换为Unicode编码。
return s if PY3 or type(s) is unicode else unicode(s, "unicode_escape")
如果字符串中可能包含\U(即用户目录),那么您很可能会遇到Unicode解码错误。
UnicodeDecodeError: 'unicodeescape' codec can't decode bytes in position 3-4: truncated \UXXXXXXXX escape
仅仅强制这样做有什么问题吗:
return s if PY3 or type(s) is unicode else unicode(s.encode('string-escape'), "unicode_escape")
是否明确检查\U的存在,因为这是唯一的特殊情况?
我希望代码在python 2和3中都能正常工作。
s = r"C:\Users\Eric\Desktop\beeline.txt"
- georgs = r"C:\Users\Eric\Desktop\pr\U000000eat-\U000000e0-porter"
这样的输入。 - Alfe