我知道您可以像这样将Unicode字符代码放入VB.Net字符串中:
str = Chr(&H0030) & "More text"
我想知道如何将char代码正确地放入字符串文字中,以便可以从设计器视图使用Unicode符号。
这甚至有可能吗?
使用ChrW()
函数返回Unicode字符。
Dim strW As String
strW = ChrW(&H25B2) & "More text"
C#语言对此进行了转义:
var str = "\u0030More text";
但是在VB.NET中不可用。请注意,您几乎可以肯定[[do n't想要使用Chr(),这意味着可与默认代码页一起使用的旧代码。您将需要ChrW()并传递Unicode代码点。
您的特定示例没有问题,&H0030是“ 0”的代码,因此您可以直接将其直接放在字符串文字中。Dim str As String = "0MoreText"
您可以使用Charmap.exe实用程序来复制和粘贴没有简单ASCII代码的字形。
str = Convert.ToChar(&H0030) & "More text"
&#NN;
。尽管it is a way在字符串中包括引号"
。'Does not compile :('
Dim myString = _
<q>This string would contain an escaped character  if it actually compiled.</q>.Value
Character Map实用程序(charmap.exe)。运行并选择控件字体中所需的字符,例如©Missico™,进行复制,然后粘贴到属性网格的Text
属性中。您将必须更改字体,因为表单的默认字体是“ Microsoft Sans Serif”,它不是Unicode字体。我认为您不能对不可打印的字符使用此方法。
ChrW
,它可以输入几个字符,但也更简洁。ChrW(n)
,其中n
是代表de Unicode字符的数字。Convert.ToChar(n)
Alt + N
组合键直接在编辑器中键入字符Char.ConvertFromUtf32(n)
&#x....;
语法的XML字符串s = ChrW(&H2665)
s = Convert.ToChar(&H2665)
s = "♥" 'in typing Alt+2665
s = "♥" 'using paste/copy of ♥ from another location
s = Char.ConvertFromUtf32(&H2665)
s = <text>I ♥ you</text>
BUT当Unicode字符大于0xFFFF(C语法更易读😉)时,仅方法4、5和6有效!
[
ChrW()
函数指示生成错误
Convert.ToChar()
函数在运行时崩溃lblCharacter.Text = "This solution works 😉"
Debug.Print (Char.ConvertFromUtf32(&H1F600))
s = <text>diable: 😈</text>
PS:直接在Visual Studio代码编辑器或Notepad ++中粘贴的笑脸(0x1F600)失去了背景色!说明:此答案中粘贴的笑脸用橙色填充,但是在Visual Studio编辑器或Notepad ++中,该颜色消失了!
要在Visual Studio编辑器中使用字符串文字,必须使用方法3或4!在表单中(设计模式)
在属性中(请参见文本属性)