2017-10-27 2 views
-4

암호화 된 데이터, 압축 된 데이터 및 일부 문자가 포함 된 아즈텍 바코드에 메시지를 작성해야합니다. 바코드 작성자가 문자열을 입력 매개 변수로 필요로하기 때문에 암호화되고 압축 된 데이터의 인코딩이 ascii로 인코딩 될 때 엉망이 될 수 있습니다.문자열 대신 바코드에 바이트의 스트림을 쓰십시오.

제 질문은 : 바코드에 일반 바이트 배열을 쓰려면 어떻게해야합니까?

저는 C#에서 바코드 생성을 위해 Zxing을 사용하고 있습니다.

+0

코드를 알려주십시오. – mjwills

+0

데이터를 보내거나받을 때 항상 각 데이터의 끝을 말할 수 있어야합니다. 이것은 3 가지 방법 중 하나입니다. 1) Ascii : 알려진 문자로 종료 2) Ascii 또는 Binary : 데이터의 시작 부분에 바이트 수 추가 3) Ascii 또는 Binary : 고정 길이 메시지. 따라서 바이너리와 ASCII 데이터를 분리하기 위해 수신 측에서 데이터를 분리 할 수 ​​있어야합니다. 또한 Ascii 인코딩을 사용하여 바이너리 데이터를 가져 와서 인코딩/디코딩하지 마십시오. 항상 UTF8을 사용하십시오. ASCII 인코딩은 인쇄 할 수없는 문자를 제거합니다. UTF8은 데이터를 변경하지 않습니다. 그래서 ascii sttring 데이터와 함께 UTF8을 사용할 수 있습니다. – jdweng

+0

@ luka-kovac 나는 중재자와 주석가 모두 당신의 의견을 놓쳤다 고 생각한다. ZXing이 원시 입력 바이너리를 인코딩하는 방법을 알아 내려고 노력하고 있는데, 내부적으로 유니 코드 텍스트라고 가정하는 것을 디코딩하는 것이 아닌가? 나는 같은 문제가있어, ZXing은 문자열 입력보다는 바이트 배열을 입력하는 것을 허용하지 않는다. 문제를 해결 했니? –

답변

0

Base64 인코딩을 사용하는 것이 좋습니다. 임의의 길이의 이진 데이터를 인코딩하는 방법입니다.

관련 문제