一个内码转换的问题。汉字的内码就是该汉字在中文字库中的逻辑位置,汉字的内码方案有两种:
我们大陆地区使用的是GB码,而台湾省和香港地区使用的是BIG5码。GB码
文件中保存的是汉字相应的GB编码,BIG5码文件中保存的是汉字相应的BIG5
编码。两种内码分别对应于各自的字库文件。首先要做的就是找到一个用于内码转换的码表文件(看看CCDOS或UCDOS中有
没有吧)。
我手头没有这样的文件,也只能尽力至此了:(

解决方案 »

  1.   

    我会用vb vb 里有个StrConvFunction GBBIG5(sStr As String, iConver As Integer) As String
    On Error Resume Next
        Dim STR
        If iConver = 1 Then 'BIG5-->GB
            STR = StrConv(sStr, vbFromUnicode, &H804)
            GBBIG5 = StrConv(STR, vbUnicode, &H404)
        ElseIf iConver = 2 Then 'GB-->BIG5
            STR = StrConv(sStr, vbFromUnicode, &H404)
            GBBIG5 = StrConv(STR, vbUnicode, &H804)
        End IfEnd FunctionPrivate Sub Command1_Click()
    Text2.Text = GBBIG5(Text1.Text, 2)
    End SubPrivate Sub Command2_Click()
    Text1.Text = GBBIG5(Text2.Text, 1)
    End Sub
      

  2.   

    在C#里面进行简体<->繁体的转换也可以利用VB6中的StrConv函数。在使用之前需要在项目中添加Microsoft Visual Basic .NET Runtime的Reference,这样才能够使用Microsoft.VisualBasic下的各种函数。下面是一段例子代码:
    string str1="娱乐";
    string str2=Microsoft.VisualBasic.Strings.StrConv(str1,Microsoft.VisualBasic.VbStrConv.TraditionalChinese,0);
    MessageBox.Show(str2);
    //str2 == "娛樂"- 微软全球技术中心 acptvc本贴子以“现状”提供且没有任何担保,同时也没有授予任何权利。具体事项可参见使用条款(http://support.microsoft.com/directory/worldwide/zh-cn/community/terms_chs.asp)。
    为了为您创建更好的讨论环境,请参加我们的用户满意度调查(http://support.microsoft.com/directory/worldwide/zh-cn/community/survey.asp?key=(S,49854782))。