利用WPS文字实现中文繁简的转换

2024-07-06

利用WPS文字实现中文繁简的转换(精选2篇)

利用WPS文字实现中文繁简的转换 第1篇

WPS在全国范围内都有很多用户,虽然在台湾主权问题上还有些疑问,但是你不能否认台湾自古以来就是中国领土这一事实。台湾那边使用的都是繁体中文,如果公司要你发送繁体字的文件给台湾总部,你是写完了在一个一个字的转换吗?WPS2013可以轻轻松松完成这个目标。

①启动WPS文字2013,输入要进行繁简转换的简体中文。

②选中这些文字,单击下拉箭头--工具--中文繁简转换。

③按要求勾选转换方向和转换单位。

④单击确定按钮之后即完成了字体的转换。

实现Qt中文路径的码制转换 第2篇

Qt在整个应用程序编程接口及其内部都是用统一码(Unicode)。软件开发人员可以在程序内部使用Qt的tr()函数把用户看的见得字符串都封装起来,并且使用Qt支持工具为所需的语言准备翻译文件即可。这样是Qt程序界面变成中文字符形式。

Qt优良的跨平台,丰富的API函数,支持2D/3D图形渲染和大量的开发文档,因此,国内使用Qt进行软件界面开发的软件公司越来越多。然而,Qt开发的软件的界面和实际操作默认支持的是英文字符,国内软件用户习惯于使用汉字保存文件名和文件夹。如果不对Qt开发的软件源代码进行修改,那么用户在使用软件时,打开保存在中文路径下的含有中文字符文件名的文件时就会出错或者软件崩溃,因此寻求一种解决此问题的方法非常必要。通过手工对Qt程序的源代码中读取的文件的编码进行转换,使它可以识别和读取中文路径下的含有中文字符文件名的文件,这方便了软件操作人员的使用。

1 统一码(Unicode)和UTF8

统一码(Unicode)是一种在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。随着计算机工作能力的增强,统一码也在面世以来的十多年里得到普及。

统一码用数字0-0x10FFFF来映射这些字符,最多可以容纳1114112个字符,或者说有1114112个码位。码位就是可以分配给字符的数字。UTF-8、UTF-16、UTF-32都是将数字转换到程序数据的编码方案。

UTF-8是统一码的一种变长字符编码又称万国码,由Ken Thompson于1992年创建,它规定了字符在计算机中如何存储和传输。UTF-8用1到6个字节编码统一码字符。如果统一码字符由2个字节表示,则编码成UTF-8很可能需要3个字节,而如果统一码字符由4个字节表示,则编码成UTF-8可能需要6个字节。UTF-8和统一码之间可以进行相互的转换。

Qt中的Qstring类用于将字符串存储为统一码,这就使得无论用户接口是何种语言,应用程序都可以为所有的用户提供其语言支持。Qt内部采用的全统一码编码,这从根本上保证了多国语界面实现的正确性和便捷性。

2 Qt识别中文路径和中文文件名的方法。

Qt开发的软件在打开文件时的路径字符和文件名的默认方法支持的语言是英文,如果按照此方法去打开中文路径下的中文名工程文件,那么读出来的是乱码或者软件直接崩溃。这是因为没有把只识别英文字符的代码转换成可以识别中文字符的代码,程序在读取打开所需文件时不能找到文件存储的位置和文件,其实质是字符编码的问题。

2.1 识别汉字的预编译指令

C、C++一直以来对统一码没有提供任何直接的支持。目前来说,当我们提字符串时,一般是一个统一码字符串,其由一个一个的统一码字符构成;当我们提字节流时,是指一个一个的字节。ANSI C、C++截止目前只有字节流,而缺乏对字符串的支持。Qt为字符串提供了QString类。当我们涉及到IO时,比如读写文件、读写网络socket、控制台(终端)输入输出、读写串口...操作的都是字节流,如果我们此时需要的操作的内容是字符串,则需要二者之间的相互转换。QTextCodec提供的就是字符串和字节流之间的相互转换(也就是字符的编解码)。

在程序中加入识别汉字的预编译指令:#include通过使用适当的QT extCodec来调用setCodec(),还可以指定其编码方法。QTextCodec是一种可以在统一码和给定编码格式之间进行转换的对象,用于指明源代码中出现的字符串的编码方式。

2.2 Qt程序中的编码转换方法

用中文,一般情况下就两种,GB(GB2312或者GBK)或者UTF-8两种。两种的解决方法是相似的,这里我们以UTF-8为例说明。在打开工程文件的源代码文件开头处中加入以下几行语句进行编码的转换:

以上几行代码的功能实质是加入了一个编码转换器。在实际编程中仅仅加入以上几行代码是不行的,还需要对具体的读取文件路径和文件名的代码进行修改,以下通过一个具体例子进行说明。

3 实例

虽然C++标准中有了文件读取的相关类,也很好用,但是在涉及到Qt编程的时候却用起来不方便了,因为QT本身很多组件都是关联的自身的QString类型的字符串,所以需要把Qstring类转换成C++的string类。其实质就是把字符编码为统一码的编码方式转换为GBK或UTF-8形式。以下是在GASOR中解决打开中文路径下含有中文字符文件名的工程文件所用的方法:

通过对此段代码的加工改造,经过编译调试,GASOR可以成功的打开中文路径下包含中文字符的文件名的工程文件。

4 结束语

通过对Qt应用程序中进行编码的转换,实现了Qt中打开中文路径下含有中文字符文件名的文件,这样大大方便了各用户对软件使用过程中对数据文件的管理。本文的的实现方法对Qt应用程序读取中文路径下含有中文字符文件名的文件具有一般的参考性。

参考文献

[1]张晓培,李祥.从Unicode到GBK的内码转换[J].微计算机应用,2006(11).

[2]程小刚,郭韧.GB18030与Unicode编码转换算法[J].华侨大学学报,2009(1).

[3]严博,欧庆于,吴晓平.Qtopia程序中文化方法研究[J].计算机与数字工程,2008(7).

[4]高炜,刘伟.赵长青.基于Windows的中文软件移植到UNICODE的方法研究[J].软件导刊,2009(1).

[5]王家华,程顺顺.基于Qt的软件汉化界面技术的研究[J].计算机技术与发展,2011(3).

[6]Jasmin Blanchette,Mark Summerfield.C++GUI Programming with Qt4[M].北京:电子工业出版社,2008.

[7]Trolltech.Qt-Cross-Platform C++Developm ent-Troll2tech[EB/OL].2007.http://www.trolltech.com/products/qt/features/index.

上一篇:竖画的写法优质下一篇:五年级语文期末的试卷