文字を16進数で表示したいです

動機 文字 '\e' の文字コードを知りたかった。

C でやるのは大袈裟だろうということで,perl湘南新宿ワンライナーやってみることに。
が,これが,後に悪魔の90分と呼ばれる非生産的な時間になることなんて,
このとき私は夢にも思わなかったのだ。。。

第1手。

% perl -w -e 'printf("%x\n", '\e');'

よくわからん警告をされて怒られた。
'\e' が numeric じゃねえよ,ごらぁ!! ということか。


この時点で C に切り替えればよかったと今では悔恨の思いです。

第2手。

ま,perl よくしらねぇし,まずは,文字を出力するとこからだな,と。

% perl -w -e 'printf("%c\n", 'a');'

これでは quote されていないので,怒られるのはわかる。
なら,これならどうだ

% perl -w -e 'printf("%c\n", \'a\');'

はいはい,parse error ね。


シェル上での quote もよくしらねぇから,ファイル経由でやるか。

#!/usr/bin/perl -w
printf("%c\n", 'a');

ぐはっ。デジャブーだ。isn't numeric ってか。
てか,ひつこいんだよ。isn't numeric isn't numeric isn't numeric って同じことしか
言えねぇのか?
俺は,1文字出力したいだけのに。
いや,

% perl -w -e 'printf("%c\n", 0x61);'

で a が出力されるのはわかる。
わたしゃ,この逆をやりたいの。


さて,どうしたものか。
perldoc -f sprintf すると,

%c a character with a given number

!!!
> with a given number
> with a given number
> number
> number
OUCH!! I'm SO sorry. you're right. it's me who is wrong.
(うーん,who am wrong なんていう見たことねえし,who are wrong だったら,
it's you っぽいからなぁ。これであってる?)



いっちょ Mr. Google に聞いてみますか。
!!!!! orz
パーセント記号 の検索の仕方,わかんねぇ。
てか,もしかして検索できないの? > %



このあといろんな試行錯誤が続く。
そして,90分ほど経過して,うがーとなって,
結局 C でやることに。


そして,文字 '\e' は,0x1b で,ESC だということが判明する。
ふぅ。長かったぜ。
てか,手持ちの駒が,C と perl しかないのが問題だよな。


ここまで読んでくれている人がいるとは思えないけど,
なんかうまい方法ってあります?


Google で「\e」を検索する方法もわかんないっす,自分。


さてさて,なぜにんなことをやっているのか? という疑問をもっていただけたら,
書いている人間は,大変うれしくなります。


いやね,mcomplete つかっていて,候補以外で決定したかったんですけど,
というか,そうじゃないと非常に困るんですよ。
つまり,M-x aiueo という候補があって,んでも,
M-x aiu で,決定させる方法を知りたかったんです。
ただそれだけなんです。(泣)


んで,mcomplete.el を眺めたら,
M-RET or ESC-RET で確定できる書いてあーるじゃありませんか。
さっそく。
・・・。
できねぇ。
M-x RET undefined と怒られる。むむむ。
ソース中のキーバインドみてたら,「("\e\r" . exit-minibuffer)」というのが
それっぽいですねぇ,と。
ん? \e ってなんじゃい? と。
さ,これで,点と点がつながってきました。

いやっ! 言わないで。私,ほんとはわかってたんだと思うの。
だって,M-RET or ESC-RET でできるって書いてあって,
それが exit-minibuffer っていうあたりをつけたんだから,
\e が ESC だという見当はついていたのよ。でも,でもっ!!
(東京都杉並区在住 女子高生 17歳 談)

隊長!! 自分は,かなーり,ストレスたまったので,
こうして駄文を生産することで,
そのストレスを解消しているのであります!!


昨日はガチで風邪を引いて,ほとんど何もできなかったので,
今日は生産的にいくぞーとやる気全開で,
朝の9時台から,英単語の復習をしようとしただけなのに,
なんていう午前中になってしまったんだ。

まとめ

結局 C への愛着が深まっただけじゃねぇか,しゃっこんにゃろー。
しかも,mcomplete.el の件解決してねぇし。
たぶん,\M-RET をたせばいい気がするが,
なんかもうどうでもよくなってきちゃった。
なんだかとっても眠いんだ。


関係ないですが,以前発見したんですが,主人公がなんだかとっても眠いんだ
といって死んでいったアニメにでてくる犬の名前は,パトラッシュ。
んで,その主人公の名前は・・・「ネロ」。
!!!!!!
そのとき彼女と電話していたんですが,あーっ!! と叫びましたよ。2人で。
ネロが眠いといいながら,眠るように死んでいくなんて,
なんという皮肉でしょう。


課題

  • 赤い甲羅のよけ方を考える。
  • 親切な人から,Google で パーセント記号を検索する方法を教えてもらう。
  • バックスラッシュつきの文字の検索方法も,便乗で教えてもらう。
  • 実はこの文章を書くのが一番時間がかかっているんじゃないのか? という確信に近い疑問を払拭する。


おつかれちゃん。