程序使用的文字编码的数组形式

前几天,在开发项目的时候,程序中需要使用一串文本,这串文本必须用unicode来输入。但是,编译器又不支持unicode编码,搞得这个编码必须写成字节形式。刚开始我就手动的处理了一下,不想后来可能要变动。虽然再后来换了一种方法,不使用这个方式了。但一想万一哪一天图个简便,又需要这种方式了,说不定也还有用的。所以就整理了个命令行的小脚本。脚本内容也极为简单:

       #!/bin/sh
       printf "%s" $1 | iconv -f utf-8 -t utf-16 | od -t x1 | awk '{if (NR==1) { for (i=4; i<=NF; i++) { printf "\x%s,", $i; } printf "\n"; } else { for (i=2; i<=NF; i++) { printf "\x%s," $i; } printf "\n";} }'
       

这里使用printf并没有使用echo,是由于echo会在输入的字符串后面自动添加换行,而printf则不会。

使用的方法也很简单了,参数为你想要的字符串即可。如果你和我一样,使用emacs的话,将脚本加入可执行的路径,然后C-u,M-!,输入命令和参数,直接插入到光标的当前位置,方便多了。

发布者

rix

如果连自己都不爱自己,哪还有谁来爱你