2014-03-27 224 views

回答

2

您可以使用該轉換方法:

byte [] bytesToEncode = Encoding.UTF8.GetBytes (inputText); 
string encodedText = Convert.ToBase64String (bytesToEncode); 
+0

_that仍然是一個字符串_.... +1 –

+0

我想這就是他想要什麼。 '到一串二進制' – MichaelS

+0

是的,我錯過了他想要的部分「仍然是一個字符串」 –

0

使用

string str = "Welcome"; 
byte []arr = System.Text.Encoding.ASCII.GetBytes(str); 
1

如果你可以編碼/解碼字節,例如

private static String ToBinary(Byte value) { 
    StringBuilder Sb = new StringBuilder(8); 

    Sb.Length = 8; 

    for (int i = 0; i < 8; ++i) { 
    Sb[7 - i] = (Char) ('0' + value % 2); 

    value /= 2; 
    } 

    return Sb.ToString(); 
} 

private static Byte FromBinary(String value) { 
    int result = 0; 

    for (int i = 0; i < value.Length; ++i) 
    result = result * 2 + value[i] - '0'; 

    return (Byte) result; 
} 

您可以輕鬆地編碼/解碼整串

// Encoding... 
    String source = "abc"; 

    // 011000010110001001100011 
    String result = String.Join("", UTF8Encoding.UTF8.GetBytes(source).Select(x => ToBinary(x))); 

    ... 

    // Decoding... 
    List<Byte> codes = new List<Byte>(); 

    for (int i = 0; i < result.Length; i += 8) 
    codes.Add(FromBinary(result.Substring(i, 8))); 

    // abc 
    String sourceBack = UTF8Encoding.UTF8.GetString(codes.ToArray()); 
+0

,反之亦然? –

+0

@羅伊納米爾:請參閱我的編輯,反之亦然 –

相關問題