![](/img/trans.png)
[英]How can I convert password string to Base64 string before sending form to backend?
[英]How can I convert sbyte[] to base64 string?
如何將sbyte[]
轉換為base64字符串?
我無法將sbyte[]
轉換為byte[]
,以保持與java的互操作性。
你絕對可以將sbyte[]
轉換為byte[]
- 我幾乎可以保證Java代碼真的將字節數組視為無符號。 (或者換句話說:base64只根據無符號字節定義 ......)
只需轉換為byte[]
並調用Convert.ToBase64String
。 轉換為byte[]
實際上非常簡單 - 雖然C#本身不提供兩者之間的轉換,但CLR非常樂意執行引用轉換,因此您只需要欺騙C#編譯器:
sbyte[] x = { -1, 1 };
byte[] y = (byte[]) (object) x;
Console.WriteLine(Convert.ToBase64String(y));
如果你想要一個真正的 byte[]
你可以復制:
byte[] y = new byte[x.Length];
Buffer.BlockCopy(x, 0, y, 0, y.Length);
但就個人而言,我堅持使用第一種形式。
class Program
{
static void Main()
{
sbyte[] signedByteArray = { -2, -1, 0, 1, 2 };
byte[] unsignedByteArray = (byte[])(Array)signedByteArray;
Console.WriteLine(Convert.ToBase64String(unsignedByteArray));
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.