Python论坛  - 讨论区

标题:python汉字编码问题

2010年07月24日 星期六 22:50

背景:

将文件1.txt中的:

安徽

澳门

。。。

以及2.txt中的

1

2

。。。

处理到3.txt中以如下形式:

安徽→1○澳门→2○ 。。。

问题:其中的汉字的编码转换该是怎样的?能否给个简单的程序。

 

 

2010年07月25日 星期日 13:26

说实话,没有看懂。

通常汉字在txt文件中既可以使用utf-8代码,又可以使用gb2312。

而你叙述的过程好像不涉及汉字的编码。

2010年07月25日 星期日 14:54

@周正     能给个实现程序也行,我就明白怎么做到的了。我是在windows下的。

2010年07月25日 星期日 16:15

# -*- coding: cp936 -*-
input1 = open('1.txt')
input2 = open('2.txt')
output = open('3.txt', 'w')

list_of_all_the_lines1 = input1.readlines( )
list_of_all_the_lines2 = input2.readlines( )
for i in range(0,len(list_of_all_the_lines1)):
    output.write(list_of_all_the_lines1[i][0:-1]+'→'
                 +list_of_all_the_lines2[i][0:-1]+'○')
output.close()
input2.close()
input1.close()

2010年07月25日 星期日 18:15

看来就是第一行的问题。谢谢了。我在Google一下心中的疑问。

2010年07月26日 星期一 08:08

我总觉得这个用Perl可能更好写一些。

2010年10月14日 星期四 15:47

# -*- coding: cp936 -*-  
with open('3.txt', 'w') as output:
    with    open('2.txt') as f1:
             with open('1.txt') as f1:
             output.write(
                "○".join(["→".join(item) for item in zip(f1  .readlines()  ,f2  .readlines()  )])
             )


2010年11月22日 星期一 11:44

为啥编码要用 cp936? utf-8不是更通用吗?

2010年11月22日 星期一 11:50

看《可爱的Python》遇到编码的问题,在 IDLE 中输入 print u'\u65b0\u5efa'.encode('utf8') 是乱码,但是两个分开打印是 新 和 建,没有问题,谁能帮忙给解答下?困扰很久了,具体见 http://topic.csdn.net/u/20101115/17/dce84ed2-e744-4c6d-bdb2-e34f59e2c158.html

ps:社区在 ff 下用 vimperator 浏览有点问题……

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2024

    京ICP备05028076号