python教程 讀寫中文檔案

2021-09-26 04:07:56 字數 1182 閱讀 3818

字串在python內部的表示是

unicode編碼,因此,在做編碼轉換時,通常需要以unicode作為中間編碼,即先將其他編碼的字串解碼(decode)成unicode,再從unicode編碼(encode)成另一種編碼。 

decode的作用是將其他編碼的字串轉換成unicode編碼,如str1.decode('gb2312'),表示將gb2312編碼的字串str1轉換成unicode編碼。

encode的作用是將unicode編碼轉換成其他編碼的字串,如str2.encode('gb2312'),表示將unicode編碼的字串str2轉換成gb2312編碼。

因此,轉碼的時候一定要先搞明白,字串str是什麼編碼,然後decode成unicode,然後再encode成其他編碼

python在執行py檔案時,預設不能解析中文字元,如果程式中需要使用中文,或者新增了中文注釋。會直接報」syntaxerror: non-ascii character",語法失敗。

在源**第一行新增:

# -*- coding: utf-8 -*-

用來指定檔案編碼為utf-8。在執行py就不會報錯。

在windows儲存的文字檔案都是ansi編碼格式,python讀出的中文字串可以直接顯示。

#

coding:utf-8

import

string

import

sysf = open(sys.ar**[1],'r'

)while

true:

line =f.readline()

ifline:

print

line

else

:

break

f.close()

如果需要對讀入的中文字元操作,比如:

print '輸入的是:%s' % line

輸出結果卻是這樣:

杈撳靉鐨勬槸中文

在這裡要對讀入的字串進行轉碼,將gbk、gb2312轉換為unicode.

s =  u'

中文: %s

' % line.decode('

gbk'

)print s

C 讀寫中文檔案

using system.text 輕鬆解決c 讀寫檔案遇到的中文亂碼問題 c 寫入 讀出文字檔案 string filename c 111.txt streamreader sr new streamreader filename 改為streamreader sr new streamread...

Python3 中文檔案讀寫

字串在python內部的表示是unicode編碼,因此,在做編碼轉換時,通常需要以unicode作為中間編碼,即先將其他編碼的字串解碼 decode 成unicode,再從unicode編碼 encode 成另一種編碼。在新版本的python3中,取消了unicode型別,代替它的是使用unicod...

Java 讀寫 中文文件

public void testrw throws exception file f new file e if f.exists outputstreamwriter write new outputstreamwriter new fileoutputstream f utf 8 buffere...