【发布时间】:2014-05-01 17:43:20
【问题描述】:
我想将 unicode 字符串拆分为最多 255 个字节的字符并将结果作为 unicode 返回:
# s = arbitrary-length-unicode-string
s.encode('utf-8')[:255].decode('utf-8')
这个 sn-p 的问题是,如果第 255 字节字符是 2 字节 unicode 字符的一部分,我会得到错误:
UnicodeDecodeError: 'utf8' codec can't decode byte 0xd0 in position 254: unexpected end of data
即使我处理了错误,我也会在字符串末尾得到不需要的垃圾。
如何更优雅地解决这个问题?
【问题讨论】:
-
我之前已经看到过这个确切的问题的回答;让我给你找个骗子。
-
@theta:好吧,那还是容易些。 :-P