• ベストアンサー

EUCコードをS-JISコードに変換したい

VB(4.0です(^_^;))のプログラムの中でEUCコードで英数カナ日本語混在のファイルを扱います。レコード毎、又はフィールド毎にS-JISコードに変換しながら処理をしたいのですが、その方法をご存知の方、教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • toysmith
  • ベストアンサー率37% (570/1525)
回答No.1

VBは5.0からしか使っていないのでハズしているかも。 DLLが利用できるならNKF32.DLLが便利です。 配布に若干制約がありますのでご注意ください。 どうしてもプログラムで書く必要がある場合(EUC→ShiftJIS)、 1.EUCから&H8080を引いてJIS X0208コードを算出  (JIS X0212に該当するコードは変換不能なので注意) 2.JIS X0208をShift JISに変換  ・第1バイトが奇数の場合    第2バイト < &H5Fの場合     第2バイト = 第2バイト + &H1F 以外     第2バイト = 第2バイト + &H20   第1バイトが偶数の場合     第2バイト = 第2バイト + &H7E  ・第1バイト = (第1バイト - &H21) * 2 + &H81  ・第1バイトが&HA0~&HDFに含まれる場合     第1バイト = 第1バイト + &H40

参考URL:
http://www.ne.jp/asahi/software/uminchu/library.html
tinu2000
質問者

お礼

toysmithさん、ご教授ありがとうございました。 どなたからも返事がなかったので、諦めていました。 苦肉の策としてDOS配下でファイル単位で変換して処理をする流れを作りましたが、いまいち納得していませんでした。早速、組込んでみます。

関連するQ&A

  • コードに対する疑問(eucコードとs-jisコード)

    eucコードで半角カナは2バイト表現、s-jisコードは1バイト表現と認識しています。 eucコードで保有するデータが40バイトとした場合、 s-jisコードで保有するとしたら、単純に20バイトとすることで影響はありますでしょうか?

  • EUCからS-JISへ、

    問:EUCからS-JISへ、 質問者:amuro_78 LINUXからいえnWindowsにテキストファイルを送ると文字が 化けてしまいます。文字コードを変換するソフトは ないのでしょうか? 窓杜で調べてみたのですが、、よくわからなくて、、、、 お願いします。

  • EUCコードをSHIFT-JISに変換したい

    宜しくお願いします。 VB2008で作成したテキストをHTMLで見たときに正常に見えるように変換がしたいのですが。 パソコン -> 繝代た繧ウ繝  化け文字です。 text1.tex にkey入力をした文字のみ化け文字です。 直接記述した文字は化けてはおりません。 多分、VB2008で作成したHTMLの漢字コードはEUCだとおもうのですが、HTMLファイルを作成して見ると文字化けをしています それでSHIFT-JISに変換を行いたいのですが、関数が分かりません。

  • AppleScriptで文字コードをEUC→S-JISへ変換するには?

    AppleScriptで文字コードをEUC→S-JISへ変換する方法をご存知の方いらっしゃいませんか? Perlを利用する方法もあるようですが、当方Perlには詳しくないため、困っております。 漢字コードのサポートはOSレベルでやってほしいものですが…。 助けてください!

  • JISコードかASCIIコードか、EUCコードか半角カナか

    C言語のプログラム上で、JISコードかASCIIコードか、EUCコードか半角カナか、 16進数にした場合、初めの1バイトがそれぞれでかぶってしまい、 区別がつきませんが、これを解決させる方法はありませんでしょうか?

  • Shift_JISをeuc-jpに変換

    エクセルのデータをテキストに保存し直したデータがあります。 中身はタブ区切りの日本語の単語が数千レコード。 この時、このテキストファイルの文字コードは当然「シフトJIS」ですが、これをperlで受け取ってフォームから文字検索を行いテーブルに検索結果を表示させるプログラムを作りました。 シフトJISなので案の定、文字化けを起こしました。 なのでデータを一度「euc-jp」に変換すると「表」や「ー」などは文字化けを起こすことなく表示するようになりました。 ところが、「(1)、(2)、(3)・・・」の丸数字だけが何故か文字化けしたままで直りません。 なんとかなりませんでしょうか? #データの読み込み open F_DATA, '<', "$cgiparam" or die;  my @lines = <F_DATA>; close F_DATA; #文字コードの変換 foreach (@lines){  Encode::from_to($_,"Shift_JIS", "euc-jp"); } よろしくお願いします。

    • ベストアンサー
    • Perl
  • JISコード変換について

    String str = "アイウエオ"; byte test[] = moji.getBytes("ISO2022JP"); String ret = new String(test); 上記のプログラムで半角カナをJISコードに変換すると 文字化けしているのですが、文字化けしないようにするにはどうしたらよいでしょうか。 なお、JISコードの String test = "アイウエオ"; ← "アイウエオ"はJISコード(文字化け無しの半角カナ文字) String ret = new String(test .getBytes("ISO2022JP"),"JISAutoDetect"); これで、文字化けせずUnicodeに変換できたのですが、単純に逆に変換しただけでは、半角カナの文字は、JISコードに変換すると文字化けしてしまうのでしょうか? どなたか教えて頂けないでしょうか?

    • ベストアンサー
    • Java
  • JIS → S-JIS コード変換するには

    JIS → S-JIS コード変換するにはどうしたらよいのでしょうか。 ご存じの方教えてください。

  • 文字コードEUC→SHIFT-JISにすると動作しません

    http://cgikon.com/search/detail.php3?menu=1&cgi_id=412 上記の簡単なスクリプトを使いたいと思っています。 文字コードがEUCとなっており、そのままの状態で設置すれば動作します。 EUCではなく、SHIFT-JISにして動作させたいのですが、中に書かれている「EUC - JP」を「SHIFT - JIS」に書き換えて、またファイルの文字コードも「SHIFT-JIS」として保存しました。 またCSVデータも「SHIFT-JIS」に変換して保存。 変換したファイルをアップしてみましたが、表示される表の数値の箇所が真っ白になってしまいます。 一番上の行と一番左の列は表示されます。 足し算される数値の部分だけが表示されません。 どのようにすれば、EUCからシフトJISに変換して、動作させる事ができるのでしょうか。 アドバイスをお願い致します。

    • ベストアンサー
    • Perl
  • EUC⇔Shift_JISの文字コード変換について

    DB(OS:win2003、DBMS:MySQL Server5.0  文字コードはEUC)に対して CSVファイルをインポート、エクスポートしようとしています。 入出力ファイル(CSVファイル)の文字コードはShift_JISのため、 文字コード変換が必要となってきています。 CSVファイルのインポート/エクスポート、文字コード変換は、 php5.2.5で構築しています。 今、エクスポート(EUC→Shift_JIS)したCSVファイルを、 エクセルで確認すると極一部が文字化けしてしまいます。 そこで質問が4つあります。 1.文字化けは仕方ないことなのでしょうか? 2.文字化けする文字を特定することはできるのでしょうか? 3.エクスポート方法、変換方法によって文字化けする文字は変わってくるので しょうか? 4.みなさんはこのような文字化けの問題をどのように回避した経験お持ちですか?   (文字化けは已む無し、文字コードを意地でも統一した、    文字を特定して特殊文字に置き換えたなどなど) 基本的なことと思いますが、よろしくご教授願います。  (3.4.はもっと詳細がわからないと何とも言えないかもしれません。   ご回答頂く為には何を調べればいいのかからも教えてください。   よろしくお願いします。)

    • ベストアンサー
    • MySQL

専門家に質問してみよう