UNICODE変換がおかしいですよね。逆?っていうか?
たとえば、「あ」をUNICODE変換すると「B0」になるんですが、それをHEXエンコードすると「4230」になりますが、「あ」のUnicodeは「u3042」ですので、「あ」をUNICODE変換したら「0B」になるのが正しいと思います。
「u4230」はべつのナゾ文字ですので、これをSJISに文字コード変換しても「あ」には戻らず文字化けしたような状態になります。
とゆうカラクリが分かれば力業で何ともなりますが、治ってほしいですよね!
これはいつからなんでしょうか。ずっと前からっぽいのですが、何かわけがあってこうなっていたんでしょうか。