强制单字节字符

时间:2014-05-11 22:26:59

标签: bash awk

此命令按预期工作

$ awk 'BEGIN {printf "%c", 0x7f}' | od -tx1
0000000 7f
0000001

但是对于所有字符>= 0x80,awk正在输出2字节字符

$ awk 'BEGIN {printf "%c", 0x80}' | od -tx1
0000000 c2 80
0000002

如何使用该设置强制使用单字节字符?

2 个答案:

答案 0 :(得分:2)

关闭您正在使用的任何UTF-8语言环境:

$ LC_CTYPE=C awk 'BEGIN {printf "%c", 0x80}' | hd
00000000  80                                                |.|
00000001

答案 1 :(得分:1)

$ awk --characters-as-bytes 'BEGIN {printf "%c", 0x80}' | od -tx1
0000000 80
0000001