首頁 > 後端開發 > C++ > 如何在不編碼的情況下在C#中獲取字符串的字節表示?

如何在不編碼的情況下在C#中獲取字符串的字節表示?

Mary-Kate Olsen
發布: 2025-02-01 05:16:13
原創
709 人瀏覽過

How to Get a String's Byte Representation in C# Without Encoding?

在 C# 中獲取字符串的字節表示(無需編碼)

本文介紹如何在不指定編碼的情況下將 C# 字符串轉換為字節數組。此方法避免了字符編碼相關的複雜性。

編碼 主要在您希望將字節數組解釋為字符串時發揮作用。不同的編碼將相同的字節解釋為不同的字符。通過指定編碼,您可以指示系統根據指定的編碼解碼字節,從而產生特定的字符序列。

但是,如果您只想逐字存儲字符串的字節,而不依賴於字符解釋,則可以簡單地將字符串字符數組的位複製到字節數組中。這可以通過以下代碼實現:

<code class="language-csharp">static byte[] GetBytes(string str)
{
    byte[] bytes = new byte[str.Length * sizeof(char)];
    System.Buffer.BlockCopy(str.ToCharArray(), 0, bytes, 0, bytes.Length);
    return bytes;
}</code>
登入後複製

要將字節數組轉換回字符串,請使用:

<code class="language-csharp">static string GetString(byte[] bytes)
{
    char[] chars = new char[bytes.Length / sizeof(char)];
    System.Buffer.BlockCopy(bytes, 0, chars, 0, bytes.Length);
    return new string(chars);
}</code>
登入後複製

此方法確保精確保留原始字符串的字節,而無需依賴編碼。只要字節的目標上下文不需要字符解釋,此方法就提供了一種可靠且便捷的替代編碼方法。

以上是如何在不編碼的情況下在C#中獲取字符串的字節表示?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板