いろいろ10進数16進数変換

CSSJava、AS なんかで色指定するときに、16進表記のものを10進にしたり、10進の表記を16進にしたり、という状況は結構あります。そういう時、僕は端末立ち上げやるのですが、ふと思い立ち、Python と jrunscript でやってみたり。

bash

$ printf "%d\n" 0xff
255
$ printf "%x\n" 255
ff

大体いつもこれ。

python

$ python -c "print '%d' % 0xff"
255
$ python -c "print '%x' % 255"
ff

python が対話モードでたち上がってる時はこちらでやるときも。

jrunscript

$ jrunscript -e "printf('%d\n',new java.lang.Integer(255))"
255
$ jrunscript -e "printf('%x\n',new java.lang.Integer(0xff))"
ff

同じようにフォーマット指定で、printf('%d\n',255) とかしようとすると、引数の 255 が内部的に Double で扱われてしまうようで、明示的に Integer で作らないと駄目模様。スタイルに拘らなければ、以下の方がちょっとスマートかも。

$ jrunscript -e "echo(java.lang.Integer.parseInt('ff',16));"
255
$ jrunscript -e "echo(java.lang.Integer.toHexString(255));"
ff

jrunscript は結構使いどころ色々ありそうなんですが、まだ体に馴染んでない感じです。