`
chencang
  • 浏览: 421947 次
  • 性别: 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

 

分享到:
评论

相关推荐

    utf-8转换工具用于将中文转换成utf-8格式的字符

    utf-8转换工具是非常好用的一款工具,用于将中文转换成utf-8格式的字符

    Txt批量转UTF-8的工具

    例如,"BatUTF8Conv(TXT to UTF8)"可能就是这样一个工具,它是一个批处理程序,可以处理一批TXT文件,将它们从ANSI格式批量转换为UTF-8格式。 批处理脚本的工作原理是通过调用操作系统内置的命令行工具,如`type`和...

    gb2312,utf-8,utf-8-bom等编码格式的互相转换

    本文将深入探讨几种常见的编码格式,如GB2312、UTF-8以及UTF-8-BOM,并详细讲解如何在C#中进行这些编码格式之间的转换,同时会涉及到与Stream相关的操作。 GB2312,全称为“国标汉字编码字符集”,是中国大陆广泛...

    Java工程编码格式由GBK转化成utf-8(编码格式互转)

    Java工程编码格式由GBK转化成utf-8(编码格式互转) https://ymjin.blog.csdn.net/article/details/118769530

    GBK、UTF-8编码转换工具

    GBK、UTF-8批量文件3秒快速转码工具(支持GBK,UTF-8免费转换),UTF-8/GBK编码在线转换工具,压缩包可以有多目录与文件,如目录中有图片不会转码,但是会随转码好的文件一起打包下载。 使用帮助 . 上传压缩包(仅支持zip...

    utf-8 互转 gb2312 转码

    UTF-8(8位Unicode转换格式)是一种广泛使用的多字节字符编码方案,它兼容ASCII编码并能表示Unicode字符集中的所有字符。UTF-8最大的优点在于其前128个字符与ASCII编码完全一致,因此在英语为主的系统和网络中非常...

    修改xml文件的编码格式:GB2312格式修改为UTF-8

    修改xml文件的编码格式:GB2312格式修改为UTF-8

    VB中ANSI转换成UTF-8

    本文将深入探讨如何在VB中将ANSI编码转换为UTF-8编码,以及在实际应用中的网络编程基础知识,特别是利用Winsock控件实现简单的聊天程序。 首先,理解ANSI和UTF-8的区别至关重要。ANSI编码,通常指的是基于特定区域...

    linux C 汉字串与utf-8串相互转化代码

    linux C/c++ 源代码,将中文字串与UTF-8格式字串相互转化,我在项目中使用的代码,完全可用

    utf-8文件格式转换工具

    UTF-8文件格式转换工具是一种实用的软件,主要用于处理不同编码格式之间的转换,尤其是将GBK或GB2312等中文编码格式的文件转化为UTF-8编码格式。在信息技术领域,字符编码是至关重要的,因为它决定了计算机如何理解...

    字符串转化成UTF-8格式

    字符串转化成UTF-8格式,亲测可用 std::string CBaseNode::string_To_UTF8(const std::string & str)

    TXT批量转UTF8格式

    "TXT批量转UTF8格式"的主题涉及到的是文件编码转换,特别是针对纯文本文件(TXT)的批量处理,将它们从非UTF-8编码转换为UTF-8编码。UTF-8是一种广泛使用的字符编码标准,支持几乎全球所有的字符,包括中文、英文和...

    C#写的 GBK GB2312 UTF-8转换

    在这个例子中,`Encoding.GetEncoding("GBK")`获取了GBK编码器,`GetBytes()`方法将GBK编码的字符串转换为字节数组,然后`Encoding.UTF8.GetString()`将这个字节数组还原为UTF-8编码的字符串。 对于文件的编码转换...

    UTF-8转ANSI文本文件转换器

    "UTF-8转ANSI文本文件转换器"就是这样一个工具,它能够帮助用户批量将UTF-8编码的文本文件转换为ANSI编码的文本文件。在此,我们将深入探讨UTF-8和ANSI编码的原理以及转换过程中涉及的关键知识点。 **一、UTF-8编码...

    UCS-2转换为utf-8代码

    UCS-2转换为UTF-8代码集完整版 UCS-2(Universal Character Set 2)是一种 Unicode 编码形式,用于表示 Unicode 字符。UTF-8(Unicode Transformation Format 8)是一种 Unicode 编码形式,用于将 Unicode 字符转换...

    ASCII 及UTF-8 与字符互相转换

    此时,就需要将UTF-8编码的文本转换为ASCII,但这通常意味着非ASCII字符将被替换为问号或其他替代字符,因为ASCII没有对应的空间来表示这些字符。 另一方面,如果你有ASCII编码的文本,但需要在支持多语言的环境中...

    快速转码(UTF-8转ASCII)

    在上述代码中,我们首先获取了UTF-8和ASCII的`Charset`对象,然后创建了一个UTF-8编码器,并将UTF-8字符串编码为字节数组。由于ASCII只能表示128个字符,所以在转换过程中可能会遇到无法表示的字符,这时我们需要...

    ASP 生成静态网页(UTF-8)

    2. **编码转换**:确保所有动态数据在输出到HTML之前都转化为UTF-8编码。这可以通过设置Response对象的CharSet属性来实现,例如`Response.Charset = "UTF-8"`。 3. **HTML模板构建**:创建HTML模板,将动态数据插入...

    javascript/微信小程序中将String进行Base64编码并UTF-8格式输出

    提供一种Base64编码,并输出UTF-8格式的BASE64编码方式。本程序在微信小程序开发工具中已经测试通过。 Base64代码: [javascript] view plain copy print? (function(){ var BASE64_MAPPING = [ 'A','B','C','D',...

    UTF-8-tool.rar_UTF-8toGB2312_UTF-8转化_tool_utf-8

    1. 文件转换:支持批量处理UTF-8编码的文本文件,将其转换为GB2312或BIG5编码格式,以便在不支持UTF-8的环境中使用。 2. 内存转换:对于较小的数据量,工具可能提供直接在内存中进行编码转换的功能,无需创建新的...

Global site tag (gtag.js) - Google Analytics