Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 在VB中,我想使用Unicode字符_Vb.net_Visual Studio_Character Encoding_Console Application - Fatal编程技术网

Vb.net 在VB中,我想使用Unicode字符

Vb.net 在VB中,我想使用Unicode字符,vb.net,visual-studio,character-encoding,console-application,Vb.net,Visual Studio,Character Encoding,Console Application,我遇到了一个问题,当我尝试将日语字符输入VB控制台时,它们显示为问号,没有附加任何数据。我正在写一个程序,以帮助我共轭的话,我需要能够输入日语字符这样做 是否可以更改设置以允许输入和输出这些字符?我找到了解决方案 将以下代码添加到代码顶部: 这将允许输入外来字符,但不允许您查看实际字符(字符将只具有值) 运行代码 在控制台的左上角,有一个图标,单击它,然后单击 转到“字体”选项卡并更改字体。到目前为止,对我有效的是任何以“MS”开头的,但是“SimSun ExtB”也有效 单击“确定”,您就完成

我遇到了一个问题,当我尝试将日语字符输入VB控制台时,它们显示为问号,没有附加任何数据。我正在写一个程序,以帮助我共轭的话,我需要能够输入日语字符这样做


是否可以更改设置以允许输入和输出这些字符?

我找到了解决方案

  • 将以下代码添加到代码顶部:
  • 这将允许输入外来字符,但不允许您查看实际字符(字符将只具有值)

  • 运行代码
  • 在控制台的左上角,有一个图标,单击它,然后单击

  • 转到“字体”选项卡并更改字体。到目前为止,对我有效的是任何以“MS”开头的,但是“SimSun ExtB”也有效

  • 单击“确定”,您就完成了 具有多个unicode范围的引用

    你可以试试我的方法如下。请注意
    RichTextBox1.Text&=(ChrW(i))
    这是最重要的一步。


    你说的是VB.NET还是VBA(办公应用程序)?因为你的标签中有这两个,而且它们是完全不同的应用程序。这能回答你的问题吗?您的问题是输入还是输出?如果您指的是实际的控制台输出,那么控制台可能根本没有显示字符所需的字体。在这种情况下,它将显示为???问题是输入和输出,据我所知,您不能直接在代码编辑器中键入它们。相反,您可以将
    ChrW
    函数与unicode类似的
    strW=ChrW(&H25B2)和“更多文本”
        Console.InputEncoding = System.Text.Encoding.Unicode
    
        Console.OutputEncoding = System.Text.Encoding.Unicode
    
        Public Class Form1
        Dim First_Unicode, Last_unicode As Integer
    
        'Hexadecimal to Decimal
        Public Function H2D(ByVal Hex As String) As Long
            Dim i As Long
            Dim b As Long
    
            Hex = UCase(Hex)
            For i = 1 To Len(Hex)
                Select Case Mid(Hex, Len(Hex) - i + 1, 1)
                    Case "0" : b = b + 16 ^ (i - 1) * 0
                    Case "1" : b = b + 16 ^ (i - 1) * 1
                    Case "2" : b = b + 16 ^ (i - 1) * 2
                    Case "3" : b = b + 16 ^ (i - 1) * 3
                    Case "4" : b = b + 16 ^ (i - 1) * 4
                    Case "5" : b = b + 16 ^ (i - 1) * 5
                    Case "6" : b = b + 16 ^ (i - 1) * 6
                    Case "7" : b = b + 16 ^ (i - 1) * 7
                    Case "8" : b = b + 16 ^ (i - 1) * 8
                    Case "9" : b = b + 16 ^ (i - 1) * 9
                    Case "A" : b = b + 16 ^ (i - 1) * 10
                    Case "B" : b = b + 16 ^ (i - 1) * 11
                    Case "C" : b = b + 16 ^ (i - 1) * 12
                    Case "D" : b = b + 16 ^ (i - 1) * 13
                    Case "E" : b = b + 16 ^ (i - 1) * 14
                    Case "F" : b = b + 16 ^ (i - 1) * 15
                End Select
            Next i
            H2D = b
        End Function
    
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            RichTextBox1.Font = New Font("Cambria", 20, FontStyle.Regular)
    
            First_Unicode = H2D(TextBox1.Text)
            Last_unicode = H2D(TextBox2.Text)
    
            'display 20 characters each line 
            Dim i As Integer
            For i = First_Unicode To Last_unicode
                RichTextBox1.Text &= (ChrW(i))
                If i Mod 20 = 0 Then
                    RichTextBox1.Text &= vbCrLf
                End If
            Next
        End Sub
    End Class