假设你有一个字符串
s = "C:\Users\Eric\Desktop\beeline.txt"
如果不是,您想迁移到 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 ok 的存在,因为它是唯一的极端情况?
我希望代码适用于 python 2 和 3。