来源:
问友源码 -> 网站开发相关 -> 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
分享到:
相关推荐
utf-8转换工具是非常好用的一款工具,用于将中文转换成utf-8格式的字符
例如,"BatUTF8Conv(TXT to UTF8)"可能就是这样一个工具,它是一个批处理程序,可以处理一批TXT文件,将它们从ANSI格式批量转换为UTF-8格式。 批处理脚本的工作原理是通过调用操作系统内置的命令行工具,如`type`和...
本文将深入探讨几种常见的编码格式,如GB2312、UTF-8以及UTF-8-BOM,并详细讲解如何在C#中进行这些编码格式之间的转换,同时会涉及到与Stream相关的操作。 GB2312,全称为“国标汉字编码字符集”,是中国大陆广泛...
Java工程编码格式由GBK转化成utf-8(编码格式互转) https://ymjin.blog.csdn.net/article/details/118769530
GBK、UTF-8批量文件3秒快速转码工具(支持GBK,UTF-8免费转换),UTF-8/GBK编码在线转换工具,压缩包可以有多目录与文件,如目录中有图片不会转码,但是会随转码好的文件一起打包下载。 使用帮助 . 上传压缩包(仅支持zip...
UTF-8(8位Unicode转换格式)是一种广泛使用的多字节字符编码方案,它兼容ASCII编码并能表示Unicode字符集中的所有字符。UTF-8最大的优点在于其前128个字符与ASCII编码完全一致,因此在英语为主的系统和网络中非常...
修改xml文件的编码格式:GB2312格式修改为UTF-8
本文将深入探讨如何在VB中将ANSI编码转换为UTF-8编码,以及在实际应用中的网络编程基础知识,特别是利用Winsock控件实现简单的聊天程序。 首先,理解ANSI和UTF-8的区别至关重要。ANSI编码,通常指的是基于特定区域...
linux C/c++ 源代码,将中文字串与UTF-8格式字串相互转化,我在项目中使用的代码,完全可用
UTF-8文件格式转换工具是一种实用的软件,主要用于处理不同编码格式之间的转换,尤其是将GBK或GB2312等中文编码格式的文件转化为UTF-8编码格式。在信息技术领域,字符编码是至关重要的,因为它决定了计算机如何理解...
字符串转化成UTF-8格式,亲测可用 std::string CBaseNode::string_To_UTF8(const std::string & str)
"TXT批量转UTF8格式"的主题涉及到的是文件编码转换,特别是针对纯文本文件(TXT)的批量处理,将它们从非UTF-8编码转换为UTF-8编码。UTF-8是一种广泛使用的字符编码标准,支持几乎全球所有的字符,包括中文、英文和...
在这个例子中,`Encoding.GetEncoding("GBK")`获取了GBK编码器,`GetBytes()`方法将GBK编码的字符串转换为字节数组,然后`Encoding.UTF8.GetString()`将这个字节数组还原为UTF-8编码的字符串。 对于文件的编码转换...
"UTF-8转ANSI文本文件转换器"就是这样一个工具,它能够帮助用户批量将UTF-8编码的文本文件转换为ANSI编码的文本文件。在此,我们将深入探讨UTF-8和ANSI编码的原理以及转换过程中涉及的关键知识点。 **一、UTF-8编码...
UCS-2转换为UTF-8代码集完整版 UCS-2(Universal Character Set 2)是一种 Unicode 编码形式,用于表示 Unicode 字符。UTF-8(Unicode Transformation Format 8)是一种 Unicode 编码形式,用于将 Unicode 字符转换...
此时,就需要将UTF-8编码的文本转换为ASCII,但这通常意味着非ASCII字符将被替换为问号或其他替代字符,因为ASCII没有对应的空间来表示这些字符。 另一方面,如果你有ASCII编码的文本,但需要在支持多语言的环境中...
在上述代码中,我们首先获取了UTF-8和ASCII的`Charset`对象,然后创建了一个UTF-8编码器,并将UTF-8字符串编码为字节数组。由于ASCII只能表示128个字符,所以在转换过程中可能会遇到无法表示的字符,这时我们需要...
2. **编码转换**:确保所有动态数据在输出到HTML之前都转化为UTF-8编码。这可以通过设置Response对象的CharSet属性来实现,例如`Response.Charset = "UTF-8"`。 3. **HTML模板构建**:创建HTML模板,将动态数据插入...
提供一种Base64编码,并输出UTF-8格式的BASE64编码方式。本程序在微信小程序开发工具中已经测试通过。 Base64代码: [javascript] view plain copy print? (function(){ var BASE64_MAPPING = [ 'A','B','C','D',...
1. 文件转换:支持批量处理UTF-8编码的文本文件,将其转换为GB2312或BIG5编码格式,以便在不支持UTF-8的环境中使用。 2. 内存转换:对于较小的数据量,工具可能提供直接在内存中进行编码转换的功能,无需创建新的...