存档
-
GB2312 中的常用汉字编码
GB2312 使用区位码定位,并编码一个汉字,后来的 GBK 和 GB18030 都是 GB2312 的超集。我这里说一下在 GB2312 中,常用汉字的编码范围,这个一般用在随机产生汉字功能,比如:产生随机汉字字符串,然后将其转换成图片格式,字体/图像变形后,作为验证码。
2010年4月29日 | 归档于 i18n -
使用iconv命令在终端显示特定编码文件
这是使用 iconv 命令,完成在终端显示非默认字符集编码的小技巧。比如终端和 shell 配置为使用 UTF-8 的默认字符集,而文件 a.txt 用 GBK 编码,则不能 cat 出正确的字符到终端显示,可以借用 iconv 命令和管道来完成这个工作:
$ export | grep -i lang
declare -x LANG="C.UTF-8"$ cat a.txt
hello world!
(非 ASCII 部分被显示成一堆乱码或错误字符)# -c 忽略无法转换的字符,-s 不输出错误消息
$ cat a.txt | iconv -c -s -f GBK -t UTF-8
hello world!
你好,世界! -
让程序支持i18n,gettext使用笔记
gettext 是 GNU 推广的支持 i18n 的程序开发方法,很多软件都在用这种方式支持 i18n(另一种流行的 i18n 支持方法是使用 Windows 资源文件,但它只在 Windows 平台上有效),gettext 可以分离应用程序的开发和 i18n 支持。gettext 工具包依赖 iconv 包,两者的下载与安装参考我之前的文章:libiconv和gettext总结与Windows版收藏。
gettext 开发的 i18n 支持程序,涉及这几种资源文件:.pot(Portable Object Template)文件,.po(Portable Object)文件,.mo(Machine Object)文件。.pot 和 .po 都是纯文本文件,里面包含了程序中使用的字符串文本,翻译者可以用文本编辑器或专用工具(比如:PoEdit)编辑它们,以提供 i18n 支持。.mo 是使用 gettext 专用的编译器(msgfmt)将 .po 编译成的紧凑的二机制字符串数据文件。2010年2月26日 | 归档于 i18n