嗨,我能夠將ASCII
字符串轉換爲二進制使用binarywriter
..作爲10101011
。即時通訊需要回轉換Binary
--->ASCII
字符串..任何想法如何做到這一點?二進制到對應的ASCII字符串轉換
回答
這應該做的伎倆......或者至少讓你開始...
public Byte[] GetBytesFromBinaryString(String binary)
{
var list = new List<Byte>();
for (int i = 0; i < binary.Length; i += 8)
{
String t = binary.Substring(i, 8);
list.Add(Convert.ToByte(t, 2));
}
return list.ToArray();
}
一旦二進制字符串已被轉換爲一個字節數組,完成了與
Encoding.ASCII.GetString(data);
所以......
var data = GetBytesFromBinaryString("010000010100001001000011");
var text = Encoding.ASCII.GetString(data);
以此爲一個簡單的例子:
public void ByteToString()
{
Byte[] arrByte = { 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0 };
string x = Convert.ToBase64String(arrByte);
}
這個鏈接的回答有關於這種轉換的有趣的細節:
HI leniel im有一個字符串如何將其轉換爲'byte []'我使用'Encoding.ASCHII' ....但它給了一個垃圾〜 – Sudantha 2011-05-15 04:21:50
@Sudantha:看看鏈接的答案... – 2011-05-15 04:28:30
下面是完整的代碼爲您answer
FileStream iFile = new FileStream(@"c:\test\binary.dat",
FileMode.Open);
long lengthInBytes = iFile.Length;
BinaryReader bin = new BinaryReader(aFile);
byte[] byteArray = bin.ReadBytes((int)lengthInBytes);
System.Text.Encoding encEncoder = System.Text.ASCIIEncoding.ASCII;
string str = encEncoder.GetString(byteArray);
好點。 – 2011-05-15 04:27:43
如果你有ASCII碼只有你可以使用Encoding.ASCII.GetBytes
和Encoding.ASCII.GetString
。
var text = "Test";
var bytes = Encoding.ASCII.GetBytes(text);
var newText = Encoding.ASCII.GetString(bytes);
Sometim ES,而不是使用內置的工具,最好使用「自定義」代碼..試試這個功能:
public string BinaryToString(string binary)
{
if (string.IsNullOrEmpty(binary))
throw new ArgumentNullException("binary");
if ((binary.Length % 8) != 0)
throw new ArgumentException("Binary string invalid (must divide by 8)", "binary");
StringBuilder builder = new StringBuilder();
for (int i = 0; i < binary.Length; i += 8)
{
string section = binary.Substring(i, 8);
int ascii = 0;
try
{
ascii = Convert.ToInt32(section, 2);
}
catch
{
throw new ArgumentException("Binary string contains invalid section: " + section, "binary");
}
builder.Append((char)ascii);
}
return builder.ToString();
}
與010000010100001001000011
測試它使用「原始」的ASCII值返回ABC
。
- 1. Python3 ASCII十六進制轉換爲二進制字符串
- 2. ASCII到二進制轉換?
- 3. 將ascii字符十進制值的字符串轉換爲二進制值
- 4. 十六進制ASCII字符串轉換
- 5. Swift - 將二進制字符串轉換爲ASCII值
- 6. 將二進制字符串轉換爲ASCII文本?
- 7. 十進制字符串到字符ASCII轉換 - C
- 8. 將ASCII字符轉換爲十六進制轉義字符串
- 9. 將二進制字符串轉換爲二進制文字
- 10. Python二進制字符串轉換
- 11. 將字符串轉換爲二進制
- 12. 將字符串轉換爲二進制
- 13. 轉換字符串「s」爲二進制
- 14. 字符串二進制轉換
- 15. 將二進制轉換爲字符串
- 16. 將字符串轉換爲二進制
- 17. 十六進制字符串到ASCII轉換和ASCII到十六進制轉換問題
- 18. 將二進制字符串轉換爲二進制
- 19. Python將二進制字符串轉換爲二進制int
- 20. 在python中,如何將十六進制ascii字符串轉換爲原始的內部二進制字符串?
- 21. 將二進制數字轉換爲ASCII字符
- 22. 轉換十進制字面到對應的ASCII碼在C
- 23. ASCII字符串到十六進制整數轉換
- 24. c#十六進制字符串到ASCII轉換結果'?'
- 25. 二進制轉換爲ASCII,但得到的所有位串
- 26. 將不可打印的ASCII字符轉換爲二進制
- 27. 如何字符轉換爲它的ASCII二進制代碼
- 28. 使用ASCII字符和進行二進制搜索字符串?
- 29. 二進制字符串ASCII文本字符串
- 30. 數字到ASCII字符串轉換器
System.Text.Encoding.ASCII.GetString(data)? – 2011-05-15 13:45:51
Convert.ToBase64String(data)有什麼問題?爲什麼要將字節放入流中,然後再從該流中讀取這些字節? – 2011-05-15 13:46:24
'ToBase64String'給我一個Base64的值不是文本! – Sudantha 2011-05-15 13:48:55