print unpack('H*', encode('shiftjis', decode('utf8', '〜'))); # => 8160
print unpack('H*', encode('cp932', decode('utf8', '〜'))); # => 3f
PerlのEncodeモジュールを使うと「~」がshiftjisとcp932のときで結果が違います。 なんでかというと、shiftjis.ucmとcp932.ucmにおいて shift