掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
EUCコードをSJISコードに変換するには? (ID:73943)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
私も悩みましたがVBでも実現できますので、参考にしていただければ。 多いパターンではないかと思いますがUNIX SYBASEからデータを 読込んでJISに変換して処理する部分を簡単に書いてみました。 Dim bMoji() As Byte '* Byte配列 Dim sMoji As String * 256 '* 変換後文字列データ SQL = "select convert(varbinary(100),A_Field) from X_Tbl" <<< バイナリ変換状態の結果セットを得る必要がある >>> Set rs = dbcon.Openresultset(SQL) bMoji = rs(0) Call EUCChg(bMoji, sMoji) Public Function EUCChg(bEUCByte() As Byte, sSJIS As String) Dim bMoji(256) As Byte Dim sReturn As String * 256 Dim Upper As Long Dim i As Integer Upper = UBound(bEUCByte) '* 配列に格納された最終データ位置を押さえる For i = 0 To 256 '* Byte配列Workの初期化 bMoji(i) = 0 Next i For i = 0 To Upper '* 256のByte配列に格納 bMoji(i) = bEUCByte(i) Next i euc2str bMoji, sReturn '* Byte配列を渡す sSJIS = sReturn End Function Public Sub euc2str(ByRef src() As Byte, ByRef str As String) Dim ix As Integer Dim ox As Integer Dim bb As Byte Dim b1 As Byte Dim b2 As Byte Dim rtc As Long ox = 0 : str = "" : ix = 0 Do bb = src(ix) ix = ix + 1 If bb = 0 Then Exit Do ElseIf bb And &H80 Then b1 = bb And &H7F bb = src(ix) ix = ix + 1 b2 = bb And &H7F rtc = jis2sj(b1 * 256 + b2) str = str & Chr(rtc) ox = ox + 2 Else str = str & Chr(bb) ox = ox + 1 End If Loop End Sub
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.