• 解説

    Unix系のOSで作成されたファイルをWindowsで開くと文字化けしていて正しく見えなかったりします。

    これは、コード体系の違いで起こる現象です。

    FTP転送ソフトなどを使用すると勝手に変換してくれたりと便利な機能がついていますがそういったソフトを使用しないでUnix系のファイルを処理するときはEUC→Shift-JISの変換が必要になります。

    コード変換についての解説はインターネット上でかなり紹介されていますので探してみてください。

  • サンプル

    Public Function EUC_To_ShiftJIS(ByVal Buffer As String) As String
    
        Dim Data() As Byte
    
        Dim i As Long
        Dim Position As Long
    
        ReDim Data(Len(Buffer) / 2 - 1)
    
        Position = 0
    
        For i = 1 To Len(Buffer) Step 2
            Data(Position) = CByte("&h" & Mid$(Buffer, i, 2))
            Position = Position + 1
        Next i
    
        For i = 0 To UBound(Data) Step 2
            If Data(i)  2 = 0 Then
                Data(i + 1) = Data(i + 1) - &H2
            Else
                Data(i + 1) = Data(i + 1) - &H61
    
                If Data(i + 1) > &H7E Then
                    Data(i + 1) = Data(i + 1) + &H1
                End If
            End If
    
            Data(i) = Data(i) + &H1
            Data(i) = Data(i) / 2
    
            If Data(i) < &HDF Then
                Data(i) = Data(i) + &H30
            Else
                Data(i) = Data(i) + &H70
            End If
        Next i
    
        For i = 0 To UBound(Data) Step 2
            EUC_To_ShiftJIS = EUC_To_ShiftJIS & Chr$(CLng(Data(i)) * &H100 + Data(i + 1))
        Next i
    
    End Function
    

説明がわからないなどありましたらお問い合わせでお知らせください。

ここに掲載された情報を使用したことによって発生した、いかなる損害に対しても
管理者である雅は一切責任を負いません。