簡體   English   中英

用於從字符串轉換為字節的內置函數

[英]A Built-in Function to Convert from String to Byte

我有以下功能:

public static byte[] StringToByte(string str)
{
    int length = str.Length;
    byte[] ba = new byte[length];
    for (int i = 0; i < length; i++)
    {           
        ba[i] = (byte)str[i];
    }
    return ba;
}

我想知道這個方法是否有內置函數?

System.Text.Encoding.GetBytes(string)
System.Text.ASCIIEncoding  encoding=new System.Text.ASCIIEncoding();
byte[] bytes= encoding.GetBytes(stringData);

不行。 真的 - 你的rappraoch壞了。 您假設低位字節是您需要的字節。 你試圖實現嗎? 字符串的ASCII表示? 什么代碼頁?

請查看以下頁面:

http://msdn.microsoft.com/en-us/library/system.text.encoding.aspx

使用其中提到的類之一,可能是ASCIIEncoding類。

.NET Framework提供了Encoding類的以下實現,以支持當前的Unicode編碼和其他編碼:

.NET Framework提供了Encoding類的以下實現,以支持當前的Unicode編碼和其他編碼:

  • ASCIIEncoding將Unicode字符編碼為單個7位ASCII字符。 此編碼僅支持U + 0000和U + 007F之間的字符值。 代碼頁20127.也可通過ASCII屬性獲得。
  • UTF7Encoding使用UTF-7編碼對Unicode字符進行編碼。 此編碼支持所有Unicode字符值。 代碼頁65000.也可通過UTF7屬性獲得。
  • UTF8Encoding使用UTF-8編碼對Unicode字符進行編碼。 此編碼支持所有Unicode字符值。 代碼頁65001.也可通過UTF8屬性獲得。
  • UnicodeEncoding使用UTF-16編碼對Unicode字符進行編碼。 支持小端(代碼頁1200)和大端(代碼頁1201)字節順序。 也可通過Unicode屬性和BigEndianUnicode屬性獲得。
  • UTF32Encoding使用UTF-32編碼對Unicode字符進行編碼。 支持小端(代碼頁12000)和大端(代碼頁12001)字節順序。 也可通過UTF32屬性獲得.ASCIIEncoding將Unicode字符編碼為單個7位ASCII字符。 此編碼僅支持U + 0000和U + 007F之間的字符值。 代碼頁20127.也可通過ASCII屬性獲得。
  • UTF7Encoding使用UTF-7編碼對Unicode字符進行編碼。 此編碼支持所有Unicode字符值。 代碼頁65000.也可通過UTF7屬性獲得。
  • UTF8Encoding使用UTF-8編碼對Unicode字符進行編碼。 此編碼支持所有Unicode字符值。 代碼頁65001.也可通過UTF8屬性獲得。
  • UnicodeEncoding使用UTF-16編碼對Unicode字符進行編碼。 支持小端(代碼頁1200)和大端(代碼頁1201)字節順序。 也可通過Unicode屬性和BigEndianUnicode屬性獲得。
  • UTF32Encoding使用UTF-32編碼對Unicode字符進行編碼。 支持小端(代碼頁12000)和大端(代碼頁12001)字節順序。 也可通過UTF32屬性獲得。

有。 它是Encoding.GetBytes

確切地說,並舉例說明:

public static byte[] StrToByteArray(string str) {
    System.Text.ASCIIEncoding  encoding = new System.Text.ASCIIEncoding();
    return encoding.GetBytes(str);
}

將ASCIIEncoding替換為您要使用的編碼。

string s = "Like this";
System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();
byte[] b = enc.GetBytes(s);

暫無
暫無

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

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