简体   繁体   English

Byte []在C#中从String到String

[英]Byte[]String to String in C#

I have the byte Array String like this that it's encoded by Base64 method on android like this one 我有这样的字节数组字符串,它是由Android上的Base64方法编码的,就像这样一个

return Base64.encodeToString(b, Base64.URL_SAFE);

so I've sened it to my web api an I've Got Something like This (this is my byte array) 所以我将其调整到我的网络api中,得到了这样的内容(这是我的字节数组)

iVBORw0KGgoAAAANSUhEUgAAAgAAAAGACAIAAABUQk3oAAAAA3NCSVQICAjb4U_gAAAgAElEQVR4 nOy925IkSZIddo6aR9ZcdoWEQIR4Af__Wyh4Iz-AT5AVPhAQrIC705VhevigFzOPiKrO7unZ7axx nZ6sCA93c3NzM70cvRj_6f_9vwEAhqT-AECAzh--T9ouJkSAeTm3FsTzXb5Fnlc_t_26nw7unSQU p3U3XtJqR5D4gcfUywYfjwg6H3u6JNv5yFA808urPviavj8gF30m-h__7Z_-r__r__yn__pf39_f ..................................... PRqEJ9oLFmsrpX1vhBXq82y1knRVUKFRwRwDgy8EiWTGfD5ZvpEz2dB54fIv8sgaY1oHz-e0M_l0 Fa1ym728AKyom8xstoaVBhv0YolD1jkAInXMwVi9JEXcfUqgHTSZz7oIYwzjGHYjRiXJOX2XLDkE H1uv5MqlbdqjV4KD20eaW6rv4-HT0ePbQicqOzC7_wsSX-sS9mzikrwvurHr_rux9-h8ijOejjxc uwmAl8bX6wf5G_HTj7D7j9z6I4Lkor9Tan-mmQGTUWYgImFgoEnOrPsQVzQgJCnD8yFxAyw21d2E SB5TJNFyNSAA1HbuJmNq9ff_tbF3Vth9OwLye3YKpT12S53VfH5wVCSP3JvZcGvq8 iVBORw0KGgoAAAANSUhEUgAAAgAAAAGACAIAAABUQk3oAAAAA3NCSVQICAjb4U_gAAAgAElEQVR4 nOy925IkSZIddo6aR9ZcdoWEQIR4Af__Wyh4Iz-AT5AVPhAQrIC705VhevigFzOPiKrO7unZ7axx nZ6sCA93c3NzM70cvRj_6f_9vwEAhqT-AECAzh - T9ouJkSAeTm3FsTzXb5Fnlc_t_26nw7unSQU p3U3XtJqR5D4gcfUywYfjwg6H3u6JNv5yFA808urPviavj8gF30m-h__7Z_-r__r__yn__pf39_f ................................... .. PRqEJ9oLFmsrpX1vhBXq82y1knRVUKFRwRwDgy8EiWTGfD5ZvpEz2dB54fIv8sgaY1oHz-e0M_l0 Fa1ym728AKyom8xstoaVBhv0YolD1jkAInXMwVi9JEXcfUqgHTSZz7oIYwzjGHYjRiXJOX2XLDkE H1uv5MqlbdqjV4KD20eaW6rv4-HT0ePbQicqOzC7_wsSX-sS9mzikrwvurHr_rux9-h8ijOejjxc uwmAl8bX6wf5G_HTj7D7j9z6I4Lkor9Tan-mmQGTUWYgImFgoEnOrPsQVzQgJCnD8yFxAyw21d2E SB5TJNFyNSAA1HbuJmNq9ff_tbF3Vth9OwLye3YKpT12S53VfH5wVCSP3JvZcGvq8

also I've use an other method on the client side that it responed me like this one 我也在客户端使用了另一种方法,它像这样响应我

JFIF C C " } !1AQa"q2 #B R $3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w !1AQaq"2 B #3R br $4 % &'() 56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz W5 K4( ڇ R+$Sk W yd yŬ, oR #- 9, ӗb'Nx JFIF C C '' !! 1AQa“q2 #B R $3br %&'( )* 456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz. !1AQaq''2 B #3R br$4 % &'() 56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz W5 K4( R+ $Sk W yd yŬ, oR #-9,9,ӗb'Nx。 sJ< Jo ZsM i a 'MΪ ֪) q j : $[ 2 dqPp z <? $+ a rMz|֝t b \\ C $.I Q Q Q 3 S k ;w ɽ 6 <7 թR Qvs * z + ngtӊ,| < }ON =O \\ 3 Y4 q ipy m $ 29 q y9䁀x = 䍣>) O_6 d:,fISq!_ϕQ ' $ k IW ;/ek N 륚 e E \\% %yUR uի S K [ 4~`f;\\ ݹ * Ǯy k> 4 sJ < Jo ZsM i a 'MΪ ֪} q j : $ [ z <? $+ a rMz|֝t b \\ C $.I Q Q Q 3 S k ;w ɽ 6 <7 թR Qvs * z + ngtӊ,| < }ON =O \\ 3 Y4 q ipy。 m $ 29 q y9䁀x = 䍣>)。O_6 d:,fISq!_ϕQ ' $ k 。 ; /ek N 륚 e E\\\\% %yUR uի S K。[ 4〜`f; \\ݹ * Ǯy。 k> 4

which is correct ? 哪个是对的 ?

how do i convert it to the byte[]? 如何将其转换为byte []?

I've find these two method one work but the file is damaged and an other one got an exeption 我发现这两种方法一种有效,但是文件已损坏,另一种受到了损害。

method 1 : 方法1:

 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;
    }

method 2 (exeption): 方法2(执行):

public static byte[] StringToByteArray(string hex)
    {
        return Enumerable.Range(0, hex.Length)
                         .Where(x => x % 2 == 0)
                         .Select(x => Convert.ToByte(hex.Substring(x, 2), 16))
                         .ToArray();
    }

so what Shall i do ?? 那我该怎么办??

在C#中,您可以: Byte[] bytes = Convert.FromBase64String(s);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM