文本文件的编码方式及内容类型是应用层测试中文本测试关注的重点,常见的文本编码方式为UTF -8、GBK2312、GBK、BIG5、GB18030等等,常见的文本内容类型为TXT、HTML、XML、Torrent、WML、XHTML等。
下面详细介绍下文件编码格式的转变及部分文本内容的格式。
1、TXT文件:大家都非常熟悉,重点讲解下编码格式的转换。
第一步:先熟悉一个linux命令;
在linux系统下,使用iconv命令进行编码格式的转换,具体的命令使用方式如下:
[root@localhost xhtml]# iconv --help
用法: iconv [选项...] [文件...]
转换给定文件的编码。
输入/输出格式规范:
-f, --from-code=名称 原始文本编码
-t, --to-code=名称 输出编码
信息:
-l, --list 列举所有已知的字符集
输出控制:
-c 从输出中忽略无效的字符
-o, --output=FILE 输出文件
-s, --silent 关闭警告
--verbose 打印进度信息
-?, --help 给出该系统求助列表
--usage 给出简要的用法信息
-V, --version 打印程序版本号
长选项的强制或可选参数对对应的短选项也是强制或可选的。
命令操作举例如下:iconv -f UTF-8 -t GB2312 文本1-UTF-8.txt -o 文本1-GB2312.txt
第二步,进行文本编码转换;
在转换之前,一定先准备一个UTF8编码格式的TXT文件,这个非常简单,linux系统一般默认的都是UFT8格式编码的文件,可以使用file -i 文件名的命令去查看,
如下所示:
[root@localhost txt]# file -i 文本1-TXT-UTF8.txt
文本1-TXT-UTF8.txt: text/plain; charset=utf-8
由于UTF8是一个汉字占用三个字节,而Big5、GBK、GB2312等基本上都是一个汉字占用两个字节,所以在编码格式转换的过程中,使用UTF8转换为GB2312之后,尽量用GB2312来转换
GBK、Big5等;直接用UTF8转换的话个别编码格式会报错。
备注:请记住文件里最好有中文汉字,如果没有的话,文本的编码格式可能会显示是US-ASCII,增加中文汉字后即可以显示为utf-8编码格式。
第三步,编码转换后的格式验证:
转换编码格式后,查询文件验证结果如下所示:
文本1-TXT-Big5.txt: text/plain; charset=iso-8859-1
文本1-TXT-GB2312.txt: text/plain; charset=iso-8859-1
显示结果并非为对应的Big5和GB2312,这个可能是linux系统的file命令并未对我们常用的汉字编码进行识别,只要在编码转换的过程中不报错,
我们就认为转换成功了。
如果在此情况下还想验证最终的结果是否正确,还大家几个方法:
方法1、使用SSH客户端(建议是Xshell),在编码格式显示处修改为想要的格式,这样,我们打开转换后的文件就是正常显示的了。
方法2、使用逆向验证法,把转换后的GB2312再次转换为UTF8编码的格式文件,查看文件内容(客户端是UTF8编码显示),如果没有乱码或者其它异常,我们就认为文件转换成功。
方法3、可以使用od -x 加文件名的方式查看对应文件的16进制结果,如果没有乱码或者其它异常,我们就认为文件转换成功。
2、HTML/MHT文件:这两种编码格式的转换基本上在浏览器上就可以完成,大家注意的是使用IE浏览器进行转换。
转换方法如下:点击浏览器,打开网页,点击“工具”,选择“文件”,点击“另存为”,选择编码格式和要保存的文件类型即可。
编码格式支持非常多,如常见的UTF8、GB2312、Big5等;文件类型支持html、mht、txt等;可以根据需要进行选择。
如果浏览器自带的编码格式有不满足要求的,可以把文件上传到linux系统中进行转换,linux系统支持的类型非常多,操作方法参照TXT文本编码转换。
为方便大家操作,截图如下:
编码格式:
文件格式:
3、XML/WML类似,语法上非常接近。实例如下:
大家可以自行编辑,也可以直接用
XML文件,示例如下:
/*
软件测试的艺术
*/
备注:其中加一行汉字最主要的目的是为了使用file命令查看文件的编码时显示是utf8。
WML文件,示例如下:
/*
软件测试的艺术
*/
备注:其中加一行汉字最主要的目的是为了使用file命令查看文件的编码时显示是utf8。
其他编码格式的文件可以直接在linux系统中进行转换。操作方法参照TXT文本编码转换。
4、XHTML文件,其实XML和HTML文件的结合,编码上更加严格。
示例如下:
$(pageInit);
function pageInit()
function toggleDisplay(id){$('#'+id).toggle(100);}
function updateAll()
5、Torrent则为BT下载种子,网络上很多,可以自行找种子进行转换。