zsh のヒストリファイルの仕様について
zshのhistoryファイルを直接開くと、日本語が文字化けしているが、 historyコマンドの結果は文字化けしていない。
内部でなにか変換をかけているはずで、調べてみたところ、同じようなところで困っている人がいた。
https://github.com/dvorka/hstr/pull/416 .zsh_historyにおける非ASCII文字の扱いについて - 生涯未熟
どうやらmetafy/unmetafyという処理をしているらしく、
メタなバイトがあったら 0x83
を挿入して、0x20
とのxorを取り6bit目を反転させている。
https://github.com/zsh-users/zsh/blob/master/Src/utils.c#L4921-L4933