我正在處理使用絕對路徑引用另一個文件的二進制文件。 該路徑包含日語和ascii字符。在python 3.x中使用帶有混合編碼的字符串
字符串的長度設定,這樣我就可以讀很多字節,並將其轉換成字符串。
但是,問題是試圖轉換字符串。如果我將編碼指定爲ascii,它將在日文字符上失敗。如果我將它指定爲日語編碼(shift-jis或其他),它將不會正確讀取英文字符。
一個字節被用於每個ASCII字符,而兩個字節被用於每個日語字符。
什麼是將這些字節轉換爲字符串的最快和最乾淨的方式?編碼是已知的。相同的技術是否可以在老版本的python中工作?
請勿混用編碼;使用utf-8做一切事情。 – geoffspear 2012-02-08 04:05:20
如果我正在閱讀的源不使用utf-8處理所有內容,那麼這將不起作用。我使用的許多其他文件都有不使用utf-8的開發人員(無論是中文,日文還是韓文)。 – MxyL 2012-02-08 04:15:41
是否使用mybytestring.decode('shift-jis')不起作用?即使它不是一個真正的標準,shift-jis在理論上與ascii兼容,除了可能是\和〜字符。 – gps 2012-02-08 08:15:09