2013-04-25 1 views
0

Star Micronics에서 영수증 프린터 용 Android 프로그래밍을하고 있습니다. 그것이 제공하는 샘플 코드에는 꽤 이해할 수없는 선이 있습니다. 어셈블리 언어 나 일종의 기계 관련 지시 사항에 다소 링크되어 있다는 사실에 당황 스럽다.이 코드로 인해 텍스트 중심이 정렬되는 이유는 무엇입니까?

ArrayList<Byte> list = new ArrayList<Byte>(); 
Byte[] tempList; 

// Alignment (center)     
list.addAll(Arrays.asList(new Byte[]{0x1b, 0x1d, 0x61, 0x01})); 

어떻게 그 라인이 센터 정렬을 달성하는지 알려주실 수 있습니까?

+2

정말 응용 프로그램에 특정한 것 같습니다. 나는 그 응용 프로그램을 열어서 거기에서 사용하고 있던 줄을 발견하지 않으면 말할 수 없었다. – Makoto

+0

그리고 @Makoto가 작성한 설명에 기계어가 아닙니다. 이것은 16 진수 값을 채우기 위해 (예 : '00'을 '0x0'으로 표시 할 수있는) 'byte []'입니다. –

+1

Star Micronics에 대한 추가 정보가 필요합니다. 어쩌면 프린터의 사양 시트를 얻을 수 있습니다. 표시 한 코드는 단순히 바이트 배열을 채 웁니다. 어떤 시점에서 배열은 프린터로 전송되어야합니다. (우리는 그 코드를 가지고 있지 않다) 프린터 문서는 명령이 무엇인지 알려줄 것이다. 문서의 어딘가에 명령 형식을 설명하면 0x1b, 0x1d, 0x61, 0x01이 "중심"을 의미하는 이유를 이해할 수 있습니다. –

답변

1

거의 확실하게 프린터로 전송되는 명령 시퀀스입니다. 정확한 의미는 프린터 모델에 따라 달라 지지만 바이트 값은 다음 문자 시퀀스에 대응한다 :

<ESC><GS>a<01> 

이 였다면, 말하는 TSP200 시리즈 프린터 다음 the programmer's manual에 따른 (페이지 58)는에 대응 기능 "자동 상태 전송 활성화/비활성화"기능. 그 효과가 중앙 정렬이라고 말했기 때문에 단순히 다른 프린터 모델이라고 생각합니다. 해당 프로그래머 매뉴얼에서 이스케이프 시퀀스를 확인하십시오.

+0

감사합니다. wquist와 Ted Hopp 링크는 매우 유용합니다. – tommy20061222

관련 문제