簡體   English   中英

使用Python 3的unicode錯誤打印\\ u2002

[英]unicode error printing \u2002 using Python 3

我收到以下錯誤:嘗試打印文本塊時,Python無法解碼字符\ 

UnicodeEncodeError: 'charmap' codec can't encode character '\ ' in position 355: character maps to <undefined>

據我所知,這是一個Unicode字符(即EN SPACE字符),所以不確定為什么不打印。

作為參考,使用file_content = open (file_name, encoding="utf8")讀取了內容

為我工作! (在Linux終端上)

>>> print("\u2002")

因為它是EN_SPACE,所以是不可見的

如果您在Windows上,則可能會在終端中使用代碼頁125X並...

>>> "\u2002".encode("cp1250")        
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib/python3.4/encodings/cp1250.py", line 12, in encode
    return codecs.charmap_encode(input,errors,encoding_table)
UnicodeEncodeError: 'charmap' codec can't encode character '\u2002' in position 0: character maps to <undefined>

在Unicode中使用該字符(在Python中作為Unicode字符串)沒有問題。 但是當您將其寫出(“打印”)時,需要將其編碼為一種編碼。 某些編碼不支持某些字符。 您用於打印的編碼不支持該特定字符。

可能您使用的是Windows控制台,該控制台通常使用不包含此字符的代碼頁(例如850或437)。

有多種方法可以更改Windows控制台代碼頁( chcp ),也可以在Idle或其他一些IDE中嘗試

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM