ページ 11

euc-jp→SHIFT-JISへの文字コード変換について

Posted: 2011年5月06日(金) 23:20
by Ciel
久しぶりの投稿です。

大分前に同じ質問をしたんですが、その時に解決できなかったので再度質問致します。

Winsockを使ってあるWEBページのデータ(html)を取得してきて、色々やろうと思ってるんですが、
その取得したいページの文字コードがeuc-jpなので、ウィンドウに表示するにはSHIFT-JISに変換してやる必要があります。

以前に質問した際に、toyoさん(だったかな?)に教えて頂いた方法でやろうと思ったのですが、
その前の段階で躓いてしまいました。

winsockを使って取得してきたデータをそのままファイルで書き出したら↓のようになってます(一部)

option> <option value="23">ーヲテホクゥ</option> <option value="21">エ・ゥ</option>

当然文字化けしてます。(書き出されるときはSHIFT-JISで書き出されるからかな?)
書き出す前のメモリにデータを保持してるときのイメージもあまり掴めてません。

このデータをConvertINetMultiByteToUnicodeの関数を使って、SHIFT-JISに変換しようとするんですが、
どの状態までデータを整形してから、この関数を使えばいいのかがわからないです。

変換する必要のない、a-zA-Zなどの文字を削除した状態でこの関数を使うのか?
また、
\xe3\x83\xa9\xe3\x83\xab\xe3\x82\xaf\xe3\x82\xa2\xe3\x83\xb3\xe3\x82\
みたいな16進数に整形した形で使うのか?

その辺がわかりません。

何かアドバイスいただければ嬉しいです。
よろしくお願いします!

Re: euc-jp→SHIFT-JISへの文字コード変換について

Posted: 2011年5月07日(土) 08:55
by lbfuvab
とりあえず試してみるか、libIconvとかnkfやICUで変換するのも良いかなと思います。

Re: euc-jp→SHIFT-JISへの文字コード変換について

Posted: 2011年5月07日(土) 16:12
by Ciel
lbfuvabさんありがとうございます。

教えていただいたものって全てライブラリですよね。
ライブラリは出来れば使いたくないんですよねぇ。

ちょっと色々EUC-JPについて調べて思いついたことがあるので、やってみてからまた来ます(´・ω・`)

追記:
文字コードについて勉強しなおして、一文字ずつ計算しなおして変換したらできました。
ありがとうございました。