2013-02-18 3 views
0

내 파일을 내 데이터베이스에 이진 파일로 저장하는 데 문제가있어서 디버깅하려면 이진 파일의 내용을 보려고합니다.바이너리 데이터를 출력하는 방법은 무엇입니까?

binary=System.Byte[] 

가 어떻게 등 0x78421824794783741237FJKHASJKH과 같아야합니다 실제 데이터를 볼 수 있습니다

file.InputStream.Read(fileData, 0, size); 
Debug.Print("binary=" + fileData); 

그것은이 출력 : 나는 이것을 시도?

내 데이터베이스에는 0x (이 문제는 해결하기 위해 노력하고있는 큰 문제 임)로만 표시됩니다.

+1

[byte \ [\]에서 16 진수 문자열까지] 가능한 중복 (http://stackoverflow.com/questions/623104/byte-to-hex-string) 편집 : 참고로, 당신은 "시스템"을 얻게됩니다. Byte [] "출력은 단순히 바이트 배열의 ToString() 표현입니다. (Base 2? Base 16? Base 64?) 또한, 16 진수 출력을 원한다고 가정하고 있지만 "예"와 같은 잘못된 문자 ("JKHS")가 포함 된 것 같습니다. 당신이 키보드를 부딪히는 것뿐이었습니다. :) –

+0

바이트 값의 무리로보고 싶습니까? 제로와 제로? Base64? 뭐? –

+0

예, 단지 거기에 실제 데이터가 있는지 확인하고 싶습니다. 그것은 단지 내 데이터베이스에'0x'로 들어가고 수많은 숫자 (바이너리 코드)가 있어야하기 때문입니다. – user1477388

답변

1

단순히 데이터가 있는지 확인하려는 경우 가장 쉬운 방법은 Base64 인코딩으로 출력하는 것입니다. 같은 뭔가 :

byte[] foo = new byte[] { 1, 2, 3, 4, 5 }; 
string base64 = Convert.ToBase64String(foo); 
Console.WriteLine(base64); 

Demo

(기본적으로 Byte[0]) 데이터가 없다면, 다음 base64은 빈 문자열이 될 것입니다.

+0

굉장한, 그래서 나는'binary = iVBORw0KGgoAAAAUUU ... '를 준다. 데이터베이스에 저장하면 제대로 출력 될 수 있습니까? 어떻게 데이터를 데이터베이스에 저장할 수 있습니까? 현재, 저장하려고하면'0x' 만 저장됩니다. 어떤 생각을 가지고 있습니까? 적어도 저에게 이것을 보여 주셔서 감사합니다. – user1477388

+1

물론이 데이터를 데이터베이스에 문자열 (보통'varchar' 또는'text')로 저장할 수 있습니다. 그것을로드 할 때'Convert.FromBase64String (dbValue)'와 함께'Byte []'로 다시 변환해야합니다. 그러나 많은 데이터베이스는 기본적으로 바이트 배열 저장을 지원하므로 기술적으로 데이터를 직렬화 할 필요가 없습니다. 너의 선택. –

+0

SQL 이미지 열을 사용하여 데이터를 저장하는 기존 저장 프로 시저를 사용하고 있습니다. 그것은 다른 페이지에서도 작동하지만 내가 만들려고하는이 새로운 것은 아닙니다. 나는 단지'0x'를 저장하는 이유를 알 수 없다. – user1477388

관련 문제