我知道你可以将unicode字符代码放在VB.Net字符串中,如下所示:
str = Chr(&H0030) & "More text"
我想知道如何将char代码直接放入字符串文字中,以便我可以使用设计器视图中的unicode符号。
这甚至可能吗?
答案 0 :(得分:26)
使用ChrW()
函数返回Unicode字符。
Dim strW As String
strW = ChrW(&H25B2) & "More text"
答案 1 :(得分:14)
C#语言支持转义:
var str = "\u0030More text";
但这在VB.NET中不可用。请注意,您几乎肯定不想要使用Chr(),这适用于使用默认代码页的遗留代码。您需要ChrW()并传递Unicode代码点。
您的具体示例不是问题,& H0030是“0”的代码,因此您可以直接将其直接放在字符串文字中。
Dim str As String = "0MoreText"
您可以使用Charmap.exe实用程序复制和粘贴没有简单ASCII码的字形。
答案 2 :(得分:4)
用Convert.ToChar替换Chr:
str = Convert.ToChar(&H0030) & "More text"
答案 3 :(得分:1)
我使用字符映射实用程序(charmap.exe)。在控件的字体中运行并选择所需的字符,例如©Missico™,复制然后粘贴到属性网格中的Text
属性中。您将不得不更改字体,因为表单的默认字体是“Microsoft Sans Serif”,它不是Unicode字体。我不认为您可以将此方法用于不可打印的字符。
根据您的需要,您还可以使用Localization,它为每种语言创建资源文件。同样,您将使用charmap.exe来选择和复制所需的字符并粘贴到资源文件中。您可能可以使用不可打印的字符,例如制表符,换行符等,因为这只是一个文本文件(Unicode)。
答案 4 :(得分:1)
我希望您可以使用XML文字和XML转义但它不起作用。我认为XML文字不允许您使用&#NN;
。虽然it is a way在字符串中包含引号"
。
'Does not compile :('
Dim myString = _
<q>This string would contain an escaped character  if it actually compiled.</q>.Value
答案 5 :(得分:1)
要显示Unicode字符,可以使用以下语句
>>> intensity = 0.50
>>>
>>> while intensity != 0.65:
... print(intensity)
... intensity = round(intensity + 0.05, 2)
0.5
0.55
0.6
,其中ChrW(n)
是代表de Unicode字符的数字。n
Convert.ToChar(n)
组合键在编辑器中直接键入字符Alt + N
Char.ConvertFromUtf32(n)
语法的XML字符串分配♥字符的示例:
&#x....;
但是(当Unicode字符大于 0xFFFF (C语法更易读)时,仅方法4、5和6起作用!
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>
函数指示生成错误ChrW()
函数在运行时崩溃示例
Convert.ToChar()
PS:直接在Visual Studio代码编辑器或Notepad ++中粘贴的笑脸(0x1F600)失去了背景色!说明:此答案中粘贴的笑脸用橙色填充,但是在Visual Studio编辑器或Notepad ++中,该颜色消失了!
要在Visual Studio编辑器中使用字符串文字,必须使用方法3或4!
在表单中(设计模式)
在“属性”中(请参阅“文本”属性)
答案 6 :(得分:0)
不,由于VB字符串不支持转义序列,所以不可能。只需使用ChrW
,这可以输入几个字符,但也可以更清洁。