簡體   English   中英

是否可以從byte []轉換為base64string並返回

[英]is it possible to convert from byte[] to base64string and back

我試過這個:

Console.WriteLine(Convert.ToBase64String(Encoding.UTF8.GetBytes("hi")));

Console.WriteLine(Convert.ToBase64String(Encoding.UTF8.GetBytes(Convert.ToBase64String(Encoding.UTF8.GetBytes("hi")))));

我得到了不同的結果,雖然我認為它應該是一樣的

在第二行中,您沒有將轉換反轉為Base64,只需重新應用它。

你想使用Convert.FromBase64String並說:

Console.WriteLine(
     Convert.ToBase64String(
        Convert.FromBase64String(
               Convert.ToBase64String(Encoding.UTF8.GetBytes("hi")))));

錯誤的問題!

您正嘗試兩次轉換為base64。 您需要使用base64轉換。

在您的帖子中,您將轉換為Base64String,然后將其編碼為另一個Base64String。 這肯定不會給你一個結果,因為你想編碼到Base64String,然后解碼回原始值。

您的代碼必須看起來像這樣編碼/解碼:

string toEncode = "hi";

// Convert to base64string
byte[] toBytes = Encoding.UTF8.GetBytes(toEncode);
string base64 = Convert.ToBase64String(toBytes);

// Convert back from the base64string
byte[] fromBase64 = Convert.FromBase64String(base64);
string result = Encoding.UTF8.GetString(fromBase64);

順序1:

一種。 將“hi”轉換為UTF

將UTF轉換為base 64

順序2:

一種。 將“hi”轉換為UTF v1

將UTF v1轉換為base 64 v1

C。 將base 64 v1轉換為UTF v2

d。 將UTF v2轉換為base 64 v2

像這樣分解,應該清楚為什么你不希望這些產生相同的輸出。 通過超長函數鏈進行混淆。

暫無
暫無

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

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