Как представить Unicode Код Chr в Строковом литерале VB.Net?

Я знаю, что можно поместить коды символов Unicode в строку VB.Net как это:

str = Chr(&H0030) & "More text"

Я хотел бы знать, как я могу исправить символьный код в строковый литерал, таким образом, я могу использовать символы Unicode от представления разработчика.

Это даже возможно?

18
задан Jaymin 18 October 2019 в 10:03
поделиться

5 ответов

Язык C # поддерживает это с помощью экранирования:

var str = "\u0030More text";

Но это недоступно в VB.NET. Помните, что вы почти наверняка не хотите использовать Chr (), который предназначен для устаревшего кода, который работает с кодовой страницей по умолчанию. Вам понадобится ChrW () и передать код Unicode.

Ваш конкретный пример не является проблемой, & H0030 - это код для "0", поэтому вы можете просто поместить его прямо в строковый литерал.

Dim str As String = "0MoreText"

Вы можете использовать утилиту Charmap.exe для копирования и вставки глифов, которые не имеют простого кода ASCII.

14
ответ дан 30 November 2019 в 06:39
поделиться

Я использую утилиту Character Map (charmap.exe). Запустите и выберите символы, которые вы хотите использовать в шрифте элемента управления, например © Missico ™, скопируйте и вставьте в свойство Text в сетке свойств. Вам придется изменить шрифт, потому что шрифт по умолчанию для формы - «Microsoft Sans Serif», который не является шрифтом Unicode. Я не думаю, что вы можете использовать этот метод для непечатаемых символов.

В зависимости от ваших потребностей вы также можете использовать локализацию, которая создает файлы ресурсов для каждого языка. Опять же, вы должны использовать charmap.exe, чтобы выбрать и скопировать необходимые символы и вставить их в файл ресурсов. Вероятно, вы можете использовать непечатаемые символы, такие как табуляция, новая строка и т. Д., Поскольку это просто текстовый файл (Unicode).

1
ответ дан 30 November 2019 в 06:39
поделиться

Я надеялся, что вы можете использовать литералы XML и экранирование XML, но это не сработало. Я не думаю, что XML-литералы позволяют использовать & # NN; . Хотя это способ включения кавычек " внутри строк.

'Does not compile :('
Dim myString = _ 
<q>This string would contain an escaped character &#30; if it actually compiled.</q>.Value 
1
ответ дан 30 November 2019 в 06:39
поделиться

Используйте функцию ChrW () для возврата символов Юникода.

Dim strW As String
strW = ChrW(&H25B2) & "More text"
27
ответ дан 30 November 2019 в 06:39
поделиться

Нет, это невозможно, поскольку строки VB не поддерживают escape-последовательности. Просто используйте ChrW , что на несколько символов больше для ввода, но также немного чище.

0
ответ дан 30 November 2019 в 06:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: