時々思いついては超俺得なツールをAutoHotkey(以下AHK)で作っている。
俺が使えれば良いので、綺麗なソースとは絶対に言えないw
作っている時に文字列の長さを取得したくなった。
Javaなんかだと
hogeStr.length()
で文字数が取得できる。
バイト数を取得したければ
hogeStr.getBytes(※charSet※).length
※キャラセットを省略するとシステムのキャラセットが適用される
※キャラセットを省略するとシステムのキャラセットが適用される
って感じで得られる。
AHKだと
StringLen, OutputVar, InputVar
StrLen(String)
で取得できる・・・のは良いんだが、同じ機能をもつコマンドが何故2つあるんだ?
・・・が、
なんか思ったように動かない。
欲しいのはバイト数なのに文字数が返却されている。
Wikiを見ると
ユニコード版では全角/半角に関わらない文字数が返る。
・・・・・うわ、ナニソレ。
それはまぁ仕方ないとして・・・ってStringLenとStrLen両方共かよ!
ザッとコマンド一覧を見たところ、
バイト長を取得するものがないんですけど・・・('A`)
どうするよコレ・・・。
車輪の再発明はしたくないなぁw