存档

  • 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!
    你好,世界!

    2010年3月8日 | 归档于 Linux 管理与应用, i18n, 应用技巧
  • 让程序支持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
‘i18n’ 分类的存档