`
chencang
  • 浏览: 419417 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

转化为 utf-8 格式

阅读更多

来源: 问友源码 -> 网站开发相关 -> Python

地址:http://www.winu.cn/dispdocnew.php?tid=108863

是否全文转载:是

 

由于网站要支持国际化, 以前用 GB2312 的脚本都要转化成 utf-8 格式. 一共有 1000 多个页面, 虽然一些文本编辑器支持转化格式, 比如 EditPlus, UE等, 但这么多的文件一个个转化也够受的. 所以准备用 Python 写了一个脚本, 负责转化目录下的所有文件成 urf-8 格式.
Python 中的 codecs 模块可以完成这个任务, 该模块可以转化很多编码, 但对我来说 utf-8 就足够, 一般支持多语言的网站都是 utf-8 的编码模式.

实现关键点:

1. 用 codecs 的 open 方式打开文件, 打开模式是只读和二进制, 即'rb'.

2. 读出文件内容, 用 encode 编码成 utf-8.

3. 用 'wb' 模式新建文件, 保存即可.

4. 另外 print 不能打印 utf-8 格式的内容, 必须先解码后再编码成 GB2312.


代码片断:

# -*- coding: mbcs -*-
import codecs
f = codecs.open('D:\\normal.txt', 'rb', 'mbcs')
text = f.read().encode('utf-8')
f.close
f = open('d:\\utf8.txt', 'wb')
f.write(text)
f.close()
print text.decode('utf-8').encode('gb2312')

 

==================以下为google知================

MBCS(Multi-Byte Chactacter System,即多字节字符系统)
它是编码的一种类型,而不是某个特定编码的名称。


UNICODE则是一个编码的名称。即是一种编码方案。
http://baike.baidu.com/view/40801.html?wtp=tt
 

MBCS 

 

全称 Multiple Byte Character Set

1个文字由多个字节 表现的文字的集合。同时,指在其文字中分配的字符编码 的体系。像日语和中文等文字组/编码 一样地,把以2个字节 表现1个字的文字组和编码 体系特别地称为DBCS(Double Byte Character Set)。把拉丁字母和数字·记号的ASCII等,以一个字节 表现1个字的文字组和编码 体系的叫做SBCS(Single Byte Character Set)。

参见 http://e-words.cn/w/MBCS.html

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics