Что такое двоичный нулевой символ?
У меня есть требование создать файл журнала sysDesk. В этом требовании я должен создать XML файл, который в определенных местах между элементами содержит двоичный нулевой символ.
Может ли кто-нибудь объяснить мне, во-первых, что такое двоичный нулевой символ и как я могу записать его в текстовый файл?
Ответы
Ответ 1
Я подозреваю, что это означает Unicode U + 0000. Однако не допустимый символ в файле XML... вы должны увидеть, можете ли вы получить очень четкую спецификацию формата файла для работы что на самом деле требуется. Файлы примеров также будут полезны:)
Комментарии в настоящее время терпят неудачу, поэтому, чтобы ответить на пару других ответов:
-
Это не символ окончания строки в С#, так как С# не использует строки с завершающим нулем. Фактически, все строки .NET имеют нуль-конец для взаимодействия, но, что более важно, длина сохраняется независимо. В частности, строка С# может полностью включать нулевой символ без его завершения:
string embeddedNull = "a\0b";
Console.WriteLine(embeddedNull.Length); // Prints 3
-
Метод, заданный rwmnau для получения нулевого символа или строки, очень неэффективен для чего-то простого. Лучше будет:
string justNullString = "\0";
char justNullChar = '\0';
Ответ 2
Двоичный нулевой символ - это просто char с целым числом /ASCII значением 0.
Вы можете создать нулевой символ с Convert.ToChar(0)
или более распространенным, более узнаваемым '\0'
.
Ответ 3
Двоичный символ NULL - это тот, что все нули (0x00 в Hex). Вы можете написать:
System.Text.Encoding.ASCII.GetChars(new byte[] {00});
чтобы получить его на С#.
Ответ 4
Нулевой символ - это специальный символ, который представлен U + 0000 (закодированный всеми нулевыми битами). Нулевой символ представлен в С# с помощью escape-последовательности \0
, как в "This string ends with a null character.\0"
.