簡體   English   中英

什么是二進制空字符?

[英]What is a binary null character?

我需要創建一個sysDesk日志文件。 在這個要求中,我應該創建一個XML文件,在元素之間的某些位置包含二進制空字符。

有人可以向我解釋,首先是什么是二進制空字符,我怎么能寫一個文本文件?

我懷疑這意味着Unicode U + 0000。 但是,這不是XML文件中的有效字符 ...您應該看看是否可以獲得非常清晰的文件格式規范,以確定實際需要的內容。 示例文件也很有用:)

目前評論沒有讓我失望,所以要解決其他幾個問題:

  • 它不是C#中的字符串終止字符,因為C#不使用以null結尾的字符串。 實際上,為了互操作,所有.NET字符串都以空值終止,但更重要的是長度是獨立存儲的。 特別是,C#字符串可以完全有效地包含空字符而不終止它:

     string embeddedNull = "a\\0b"; Console.WriteLine(embeddedNull.Length); // Prints 3 
  • rwmnau給出的用於獲取空字符或字符串的方法對於簡單的事情是非常低效的。 更好的是:

     string justNullString = "\\0"; char justNullChar = '\\0'; 

二進制空字符只是一個整數/ ASCII值為0的char。

您可以使用Convert.ToChar(0)或更常見,更公認的'\\0'創建一個空字符。

二進制NULL字符是全零的字符(十六進制中的0x00)。 你可以寫:

System.Text.Encoding.ASCII.GetChars(new byte[] {00});

在C#中獲取它。

空字符是由U + 0000表示的特殊字符(由全零位編碼)。 空字符在轉義序列\\0以C#表示,如"This string ends with a null character.\\0"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM