簡體   English   中英

將特殊字符編碼為Byte數組

[英]Encoding special characters into Byte array

幾天前,我問了一個有關德國特殊字符的問題。 我現在可以編碼和解碼ö,ä或ü等字符。 但是..還剩下一些字符,我也需要對其進行編碼/解碼。

例如,失敗的字符:²³€µÜÖÄ〜´§

這是代碼:

    private static byte[] MyGetBytesArray(string data)
    {
        Encoding enc = new UTF8Encoding(true, true);
        return enc.GetBytes(data);
    }

    private static string MyGetString(byte[] data)
    {
        Encoding enc = new UTF8Encoding(true, true);
        return enc.GetString(data);
    }

我正在尋找一種編碼/解碼所有字符的解決方案。 我正在寫一個加密/解密算法,我不知道什么用戶會粘貼到程序中。 我需要給完全一樣。

再次感謝您的幫助。

編輯:好的,UnicodeEncoding起作用(我認為)。 現在是我的加密/解密算法:/我仍然不確定發生了什么(我想是用零來表示的。在Unicode編碼過程中,每個字符后面都是零),但是對特殊字符wokrs進行編碼。 至少該測試是成功的:

string text = File.ReadAllText(opd.FileName, Encoding.Default);
byte[] byt = getBytesArray(text);
string text2 = getString(byt);

if (text2 == text)
{
    MessageBox.Show("OK");
}
else
{
    MessageBox.Show("FAIL");
}

BTW。 Encoding.Default是正確的對嗎?

不幸的是,這些字符是Unicode,因此您將無法使用UTF8Encoding類。

嘗試改用UnicodeEncoding類。

嘗試改用UnicodeEncoding。

var encoding = new UnicodeEncoding();
return Write(encoding.GetBytes(s));

暫無
暫無

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

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