用python怎么想一个文件中写入一个中文字符啊?

时间:2023-01-18 18:27:08
我用python在手机上编程的,下面是一段代码
file='e:\\test.txt'
a=u'中文'
b=a.encode('utf')
f=open(file,"w")
f.write(b)
f.close()
printf "successful"
但是打开e:\test.txt是乱码,将这个文件发送到电脑上打开还是乱码。无论是utf,utf-8还是utf-16都不行,用gb2312则提示unknown encoding。这个怎么解决,我以前用的是c++的,对python处理字符串的机制不了解,麻烦哪位大虾帮帮忙,谢谢~!

11 个解决方案

#1


b = a.encode('gbk2312')

#2


b = a.encode('gb2312')

#3


不行,在手机上gb2312编码会提示错误的

#4


是不是Unicode文件在Windows平台上面存取时牵涉到一个BOM的问题?
看看我在google-python讨论组里问的这个问题对你有没有帮助:
http://groups.google.com/group/python-cn/browse_thread/thread/a64861ec45befe16/bbeec5a4327f29a8?hl=zh-CN#bbeec5a4327f29a8

#5


这个跟你代码没关系,而是你的编译工具有问题,换个吧,我在电脑上用python开发,换了几个IDE才搞定。
代码是正确的,这个的确很烦人,都是些莫名其妙的错误,python+Django继续晚上中。。。。。

#6


Python IDE的话推荐Eclipse+PyDev
如果只是要个编辑器,推荐SciTE

#7


在我的机器上没有问题!

#8


把文件当作二进制文件写入

最好是用codecs类库,以utf8打开。

这样肯定能行滴。

#9


#-*- coding:gbk-*-
file='test.txt'
a=u'中文'
b=a.encode('utf')
f=open(file,"w")
f.write(b)
f.close()
print "successful" 

将以上代码保存成ansi(切记)形式的文件,然后运行
可以正确的显示

关于编码问题,我以前有过分析
可以看下我以前的分析结果:
http://blog.csdn.net/kiki113/archive/2009/04/10/4062063.aspx

#10


#-*- coding:gbk-*-
file='test.txt'
a=u'中文'
b=a.encode('utf')
f=open(file,"w")
f.write(b)
f.close()
print "successful" 

将以上代码保存成ansi(切记)形式的文件,然后运行
可以正确的显示

关于编码问题,我以前有过分析
可以看下我以前的分析结果:
http://blog.csdn.net/kiki113/archive/2009/04/10/4062063.aspx

#11


1.检查文件的保存格式,必须支持中文的
2.如果手机上实在不行的话,就事先转化成编码写进去吧,\u....

#1


b = a.encode('gbk2312')

#2


b = a.encode('gb2312')

#3


不行,在手机上gb2312编码会提示错误的

#4


是不是Unicode文件在Windows平台上面存取时牵涉到一个BOM的问题?
看看我在google-python讨论组里问的这个问题对你有没有帮助:
http://groups.google.com/group/python-cn/browse_thread/thread/a64861ec45befe16/bbeec5a4327f29a8?hl=zh-CN#bbeec5a4327f29a8

#5


这个跟你代码没关系,而是你的编译工具有问题,换个吧,我在电脑上用python开发,换了几个IDE才搞定。
代码是正确的,这个的确很烦人,都是些莫名其妙的错误,python+Django继续晚上中。。。。。

#6


Python IDE的话推荐Eclipse+PyDev
如果只是要个编辑器,推荐SciTE

#7


在我的机器上没有问题!

#8


把文件当作二进制文件写入

最好是用codecs类库,以utf8打开。

这样肯定能行滴。

#9


#-*- coding:gbk-*-
file='test.txt'
a=u'中文'
b=a.encode('utf')
f=open(file,"w")
f.write(b)
f.close()
print "successful" 

将以上代码保存成ansi(切记)形式的文件,然后运行
可以正确的显示

关于编码问题,我以前有过分析
可以看下我以前的分析结果:
http://blog.csdn.net/kiki113/archive/2009/04/10/4062063.aspx

#10


#-*- coding:gbk-*-
file='test.txt'
a=u'中文'
b=a.encode('utf')
f=open(file,"w")
f.write(b)
f.close()
print "successful" 

将以上代码保存成ansi(切记)形式的文件,然后运行
可以正确的显示

关于编码问题,我以前有过分析
可以看下我以前的分析结果:
http://blog.csdn.net/kiki113/archive/2009/04/10/4062063.aspx

#11


1.检查文件的保存格式,必须支持中文的
2.如果手机上实在不行的话,就事先转化成编码写进去吧,\u....