Byte[]
을 이진수 시퀀스가 들어있는 string
으로 변환해야합니다. 문자로 바이트를 인코딩하기 때문에 Encoding
을 사용할 수 없습니다! ..바이트 []를 바이너리로 문자열 표현으로 변환
"1111111000000001"
Byte[]
을 이진수 시퀀스가 들어있는 string
으로 변환해야합니다. 문자로 바이트를 인코딩하기 때문에 Encoding
을 사용할 수 없습니다! ..바이트 []를 바이너리로 문자열 표현으로 변환
"1111111000000001"
Convert.ToString
의 문자열로 숫자 정수를 이진 표현으로 변환 할 수 있습니다. 배열의 각 byte
이 작업을 수행하고 그 결과을 연결하는 LINQ와 매우 간단합니다 :
var input = new byte[] { 254 }; // put as many bytes as you want in here
var result = string.Concat(input.Select(b => Convert.ToString(b, 2)));
업데이트 : 위의 코드는 입력 바이트 당 정확히 8 문자를 갖는 결과를 생성하지 않습니다
하고, 이렇게하면 입력 결과가 무엇인지 알 수 없게됩니다. ""
이 경우
var result = string.Concat(input.Select(b => Convert.ToString(b, 2).PadLeft(8, '0')));
string StringIWant = BitConverter.ToString(byteData);
하지만 Encoding
직장 제안
string System.Text.Encoding.UTF8.GetString(byte[])
편집 :이 출력 할
new byte[] { 254, 1 };
예 :
이 어레이를 갖는 : 다음과 같이 10101011010
@Quintin Robinson의 답변에서;
StringBuilder sb = new StringBuilder();
foreach (byte b in myByteArray)
sb.Append(b.ToString("X2"));
string hexString = sb.ToString();
BitConverter.ToString이 적합합니까?
byte[] bList = { 0, 1, 2, 3, 4, 5 };
string s1 = BitConverter.ToString(bList);
string s2 = "";
foreach (byte b in bList)
{
s2 += b.ToString();
}
S1 = "01-02-03-04-05"
과 S2 = 바이트 당 정확히 8 문자를 얻으려면 작은 변화가 필요하다 나는 당신이 성취하려고하는 것을 실제로 얻지 못합니다.
개인적으로 그가 성취하고자하는 것을 이해했습니다. 내가 정말로 이해하지 못하는 것은이 예에서 당신이 성취하고자하는 것입니다. –
아마도 BitArray 클래스를 사용하여 찾고있는 것을 달성 할 수 있습니까? 그들은 당신이 찾고있는 것으로 쉽게 변환해야하는 참조에 몇 가지 샘플 코드가 있습니다.
"0110010010100100"과 같은 문자열을 원한다고 말하고 있습니까? –
예! thats 정확히 내가 이미'바이트 []'에 그것을 필요가 – Sudantha
당신은 "그대로"문자열로 변환 바이트가 필요 한가? – Gabriel