稿件题目:编码转换的跨平台解决方案
压缩包说明
codeconverter.rar:文章 source.rar:源程序 如何编译源程序,请看source.rar中的readme.txt EMAILNOTE.rar:说明文件
编译、调试信息,和readme.txt一样
本源码分为Windows版和Linux版
Windows版 操作系统:Win2003 开发工具:VC6 源程序路径:codeconverter_windows
编译步骤:
用VC6打开codeconverter.dsw后在workspace中出现三个工程 codeconverter: 类库工程,编译生成dll
test: 测试工程1,这个工程测试了CodeConverter中的GB2312和UTF8之间互相转换和将UTF8格式文件转换为GB2312格式文件的功能。这个工程有一个界面,可在上面输入GB2312和UTF8字符串,或是打开一个UTF8格式的文件,转换后,在这个UTF8格式文件名后加一个.gb2312后缀。 在这个工程目录中提供了一个简单的utf8格式的文件utf8.txt,请用写字版将其打开,否则会自动将其转换为gb2312格式
test1: 测试工程2, 这个功能是测试跨平台功能的,和linux版的完全一样。这个工程编译生成的exe是一个控制台程序,测试了CodeConverter类的全部功能按ctrl+F5执行。 在这个工程目录中也有一个相同的utf8格式文件,运行test1后,将其转换为gb2312.txt
注:要单独执行某个工程,请将这个工程设为启动工程,然后按Ctrl+F5 同时本例子提供了编译好的二进制文件,分别在相应工程目录的debug中。
Linux版
操作系统:redhat linux9、federo4 开发工具:gcc3.2.1及以上版本 源程序路径:codeconverter_linux
编译步骤:
从linux控制台进入源程序的目录,依此输入以下四条命令。 g++ -c -fPIC codeconverter.cpp g++ -shared -fPIC -o libcodeconverter.so codeconverter.o g++ -c testcc.cpp g++ -o testcc testcc.o –L. –lcodeconverter
最后运行testcc,显示结果和windows版的test1工程显示结果一样。
注:如果运行时出现类似“无法装载共享库”的提示,在/etc/profile中加入如下两行即可。 LD_LIBRARY_PATH=.:$LD_LIBRARY_PATH export LD_LIBRARY_PATH
本例在codeconverter_linux\\federo4 和 codeconverter_linux\\redhat9中分别提供了在这两个linux版本中编译完的二进制文件,可以这两个linux版本中进入相应目录,执行testcc
本例提供了utf8规范,如果想对utf8更进一步地了解的话,请查看“utf8编码规范.txt” 点击浏览该文件
(ixmy) |