2015-09-20 13 views
0

我有一個字節數組字符串這樣,它的通過Base64編碼方法編碼在Android這樣一個字節]串來串在C#

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

因此我將sened到我的網絡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

還我已經使用其他方法在客戶端,它responed我這樣一個

JFIF ç 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 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 = d:,fisq!_φQ ' $ k IW ; /ek N 륚 %% %yUR u S K [ 4〜`f; \ ݹ * Ǯy k> 0124

這是正確的?

如何將其轉換爲字節[]?

我已經發現這兩個方法一個工作,但該文件已損壞,另一箇中有一個exeption

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

方法2(exeption):

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

那我該怎麼辦?

+1

不知道所示的代碼如何與您的數據......如果您發送的base64(甚至修改字母),我期望某種對另一端的base64解碼代碼.. 。更接近http://stackoverflow.com/questions/1228701/code-for-decoding-encoding-a-modified-base64-url。 –

回答

1

在C#中有:Byte[] bytes = Convert.FromBase64String(s);

+1

這顯然不能用於OP使用的非默認字符集。 –