• ベストアンサー

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

専門家に質問してみよう