UTF-8은 텍스트 기반 통신 지원에서 ASCII 문자의 인코딩을 최적화하는 효율적인 유니코드 문자열 인코딩입니다.
WebSphere MQ Telemetry Transport 프로토콜은 UTF-8의 서브세트를 사용합니다. 1바이트(비확장) 문자만 지원됩니다.
UTF 문자열 형식은 다음 표에 표시되어 있습니다.
비트 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
바이트 1 | 메시지 길이 MSB | |||||||
바이트 2 | 메시지 길이 LSB | |||||||
바이트 3 ... | 인코딩 문자 데이터 |
메시지 길이는 문자 수가 아니라 인코딩 문자열 문자의 바이트 수입니다. 그러나 ASCII 문자열의 경우에는 문자 수와 인코딩 문자열 문자의 바이트 수가 동일합니다. ASCII 코드 0x01 - 0x7F의 인코딩 문자 형식은 다음 표에 표시되어 있습니다.
비트 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
0 | 문자의 ASCII 코드 |
예를 들면, ASCII 텍스트 문자열 OTWP는 다음 표에 표시된 대로 UTF-8로 인코딩됩니다.
비트 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---|---|---|---|---|---|---|---|---|
바이트 1 | 메시지 길이 MSB(0x00) | |||||||
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | |
바이트 2 | 메시지 길이 LSB(0x04) | |||||||
0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | |
바이트 3 | 'O' (0x4F) | |||||||
0 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | |
바이트 4 | 'T' (0x54) | |||||||
0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | |
바이트 5 | 'W' (0x57) | |||||||
0 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | |
바이트 6 | 'P' (0x50) | |||||||
0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 |
Java writeUTF() 및 readUTF() 데이터 스트림 메소드는 이 형식을 사용합니다.