写了个python脚本自动完成某项工作,需要将从命令行读入的参数写到utf-8编码的文件中,在linux系统中没有问题,因为shell默认为utf-8编码格式,读入后直接写入就行,但是由于Window系统的默认编码为cp936,始终提示编码有错误。
Continue reading
Python从命令行输入中文的编码问题
Reply
写了个python脚本自动完成某项工作,需要将从命令行读入的参数写到utf-8编码的文件中,在linux系统中没有问题,因为shell默认为utf-8编码格式,读入后直接写入就行,但是由于Window系统的默认编码为cp936,始终提示编码有错误。
Continue reading
话说内置open方法只能创建asiic编码的文件,其函数签名为:open(filename[, mode[, bufsize]]),简单示例如下:
1 2 3 | file = open('dist.txt', 'r') file.write('some text') file.close() |
在Java的文件操作中,如果一个文件是UTF-8格式,那么一定要使用UTF-8的编码格式去读取,如果按其他格式读取之后再做转换,可能会发生不可预料的问题,如“乱码”,具体原因我没有搞清楚,因为JDK读取文件时采用了sun.nio.cs.StreamDecoder这个类,这个是sun公司的代码实现,并没有源代码可以参考。
Continue reading