程式語言:Python
簡介:一些轉碼的技巧
簡介:一些轉碼的技巧
強制編碼輸出
運用強制指定編碼 encode 成 unicode,並忽略或 ? 取代,再 decode 回來s = '測試abc' s.encode('ascii', 'ignore').decode('ascii') # 'abc' s.encode('ascii', 'replace').decode('ascii') # '??abc'
String byte to UTF-8
因 latin-1 是 lossless 的 8-bit encoding,所以在實務上可以把一個只包含 single-byte characters 的 Unicode 內容直接 map 到同樣 byte sequence 的 encoded datas = '測試abc' sb = s.encode() # b'\xe6\xb8\xac\xe8\xa9\xa6abc' sbs = sb.decode('latin-1') # '\xe6\xb8\xac\xe8\xa9\xa6abc' ss = sbs.encode('latin-1').decode() # '測試abc'
Byte String to UTF-8
利用 eval()s = '測試 abc' bs = str(s.encode()) # "b'\\xe6\\xb8\\xac\\xe8\\xa9\\xa6 abc'" ss = eval(bs).decode() # '測試 abc'
留言
張貼留言