Witaj, mogę przekonwertować ciąg znaków ASCII
na plik binarny, używając binarywriter
.. jako 10101011
. im wymagane z powrotem do konwersji Binary
--->ASCII
ciąg .. jakiś pomysł, jak to zrobić?Konwersja ciągów znaków binarnych na ASCII
Odpowiedz
To powinno załatwić sprawę ... albo przynajmniej na początek ...
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();
}
Gdy ciąg binarny został przekonwertowany do tablicy bajtów, wykończenia z
Encoding.ASCII.GetString(data);
Więc ...
var data = GetBytesFromBinaryString("010000010100001001000011");
var text = Encoding.ASCII.GetString(data);
Podziękowania dla wielu programistów .. Dokładnie to, czego potrzebowałem i działałem niesamowicie! .. Próbowałem cały dzień z blackoutem i nareszcie !! wielkie dzięki ! : D – Sudantha
@Sudantha: pomaga zadać właściwe pytanie. –
@Sudantha: Połączyłem twoje dwa identyczne pytania; możesz ponownie zaakceptować tę odpowiedź (została zaakceptowana w drugim pytaniu). – balpha
Weź to jako prosty przykład:
public void ByteToString()
{
Byte[] arrByte = { 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0 };
string x = Convert.ToBase64String(arrByte);
}
ta związana odpowiedź ma ciekawe szczegóły dotyczące tego rodzaju konwersji:
HI leniel im posiadających ciąg jak przekonwertować go do 'byte []' i użył 'Encoding.ASCHII' .... ale daje junk ~ – Sudantha
@Sudantha: spójrz na połączoną odpowiedź ... –
Oto kompletny kod na swoją 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);
Dobra racja. –
Jeśli masz ASCII czarter tylko Ty mógłbyś użyć Encoding.ASCII.GetBytes
i Encoding.ASCII.GetString
.
var text = "Test";
var bytes = Encoding.ASCII.GetBytes(text);
var newText = Encoding.ASCII.GetString(bytes);
Sometim es zamiast używać wbudowanego narzędzia lepiej wykorzystać „niestandardową” Kod .. spróbować tej funkcji:
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();
}
Testowane z 010000010100001001000011
powrócił ABC
używając „raw” wartości ASCII.
- 1. Python: konwersja ciągów binarnych/szesnastkowych?
- 2. Konwersja Dictionary.keyscollection do tablicy ciągów znaków
- 3. Python: Konwersja kompleks słownika ciągów z Unicode do ASCII
- 4. Konwersja ciągów HTML-uciekł do zwykłego Unicode/ASCII
- 5. Konwersja znaków Hi-Ansi do odpowiednika Ascii (é -> e)
- 6. Konwersja kodu ASCII na char w Javie
- 7. Konwersja ASCII na TBCD w C
- 8. Konwersja binarnej reprezentacji ciągów na tablicę bajtów
- 9. Inteligentny sposób na znalezienie kodowania ciągów znaków?
- 10. Tablica ciągów ciągów znaków
- 11. Jak konwertować liczbę znaków na znaki ASCII?
- 12. Konwersja kodu JavaScript UTF-8 na ASCII (jak Iconv ('UTF-8', 'ASCII // TRANSLIT', $ string) w PHP)
- 13. Konwersja String na tablicę znaków
- 14. Konwersja XmlElement na ciąg znaków
- 15. ręczna konwersja między znakami ASCII i .NET
- 16. Microsoft.VisualBasic.FileIO.TextFieldParser zmienia ± Ascii 241 na? Ascii 63
- 17. Przechowywanie długich ciągów binarnych (danych surowych)
- 18. Konwersja podzbiór ciągów liczb na liście
- 19. Konwersja ciągów w JavaScript (dziesiętny na binarny)
- 20. Konwersja ciągów na obiekty pływające w DataFrame
- 21. Konwersja ciąg zer binarnych i jedynek
- 22. Go: konwersja ciągów w tablicy na liczbę całkowitą
- 23. C# tłumaczenie ciągów znaków
- 24. Przeciążanie literowe ciągów znaków
- 25. Dopasowywanie rozmytych ciągów znaków
- 26. Konwertowanie tablicy macierzy na tablicę ciągów znaków
- 27. Konwertowanie ciągów znaków na listy w pythonie
- 28. Nieczułe na wielkość liter porównywanie ciągów znaków
- 29. JavaScript Konwertowanie wartości ciągów znaków na szesnastkowy
- 30. Tworzenie właściwości ViewBag na podstawie ciągów znaków
System.Text.Encoding.ASCII.GetString (dane)? –
Co jest nie tak z Convert.ToBase64String (dane)? Dlaczego przenosisz bajty do strumienia i odczytywanie tych bajtów z powrotem z tego strumienia? –
'ToBase64String' daje mi wartość Base64, a nie tekst! – Sudantha