如何將一個文本文件中的內容轉換成簡體中文
例如:現在文本文件中有字串: 編輯
轉換後將成為:编辑
請各位高手指教.

解决方案 »

  1.   

    去网上找一找,大把BIG5和GB内码互换的控件
      

  2.   

    http://www.china-askpro.com/download/big2gb.zip一个VB的例子。
      

  3.   

    在word里把相应的操作录制成宏,在vb里运行,我认为繁转简很容易吧,这是我想的,没测试。
      

  4.   

    你可以用VB内置函数strcnv来实现转化(利用它LCID参数),一句话就够了,比如:Private Sub Command1_Click()
      Text2.Text = StrConv(StrConv(Text1.Text, vbFromUnicode, &H804), vbUnicode,
    &H404)
    End SubPrivate Sub Command2_Click()
      Text3.Text = StrConv(StrConv(Text2.Text, vbFromUnicode, &H404), vbUnicode,
    &H804)
    End SubPrivate Sub Form_Load()
      Text1.Text = "中华人民共和国"
    End Sub简体的LCID:&H804,繁体LCID:&H404
    你可以将我的例子写成一个函数就可以在其他地方调用了
    我还是先替你写一下:
    Option ExplicitPrivate Sub Command1_Click()
      Text2.Text = ConvertLang(Text1.Text)
    End SubPrivate Sub Command2_Click()
      Text3.Text = ConvertLang(Text2.Text, 1) & vbCrLf &
    ConvertLang(ConvertLang(Text1.Text), 1)
    End SubPrivate Sub Form_Load()
      Text1.Text = "中华人民共和国"
    End Sub
    Private Function ConvertLang(ByVal strOrig As String, Optional iModel As
    Integer = 0) As String
    'iModel=0 for gb to big5,=1 for big5 to gb
    Dim iFormLcid As Long
    Dim iToLcid As Long
    Select Case iModel
      Case 0
        iFormLcid = &H804
        iToLcid = &H404
      Case 1
        iFormLcid = &H404
        iToLcid = &H804
    End SelectConvertLang = StrConv(StrConv(strOrig, vbFromUnicode, iFormLcid), vbUnicode,
    iToLcid)End Function你运行这个测试例子可能会发现一个问题,看text3的值(通过中间的text2赋值会出现
    误差)
      

  5.   

    你可以用VB内置函数strcnv来实现转化(利用它LCID参数),一句话就够了,比如:Private Sub Command1_Click()
      Text2.Text = StrConv(StrConv(Text1.Text, vbFromUnicode, &H804), vbUnicode,
    &H404)
    End SubPrivate Sub Command2_Click()
      Text3.Text = StrConv(StrConv(Text2.Text, vbFromUnicode, &H404), vbUnicode,
    &H804)
    End SubPrivate Sub Form_Load()
      Text1.Text = "中华人民共和国"
    End Sub简体的LCID:&H804,繁体LCID:&H404
    你可以将我的例子写成一个函数就可以在其他地方调用了
    我还是先替你写一下:
    Option ExplicitPrivate Sub Command1_Click()
      Text2.Text = ConvertLang(Text1.Text)
    End SubPrivate Sub Command2_Click()
      Text3.Text = ConvertLang(Text2.Text, 1) & vbCrLf &
    ConvertLang(ConvertLang(Text1.Text), 1)
    End SubPrivate Sub Form_Load()
      Text1.Text = "中华人民共和国"
    End Sub
    Private Function ConvertLang(ByVal strOrig As String, Optional iModel As
    Integer = 0) As String
    'iModel=0 for gb to big5,=1 for big5 to gb
    Dim iFormLcid As Long
    Dim iToLcid As Long
    Select Case iModel
      Case 0
        iFormLcid = &H804
        iToLcid = &H404
      Case 1
        iFormLcid = &H404
        iToLcid = &H804
    End SelectConvertLang = StrConv(StrConv(strOrig, vbFromUnicode, iFormLcid), vbUnicode,
    iToLcid)End Function你运行这个测试例子可能会发现一个问题,看text3的值(通过中间的text2赋值会出现
    误差)