본문으로 건너뛰기
PDU 디코더

SUBMIT, DELIVER, STATUS-REPORT용 온라인 PDU 디코더

PDU를 붙여 넣고 필드별로 읽으세요: 서비스 센터, 주소, 인코딩, 날짜, 연결과 디코딩된 텍스트. 필드가 잘못되면 디코더는 빈 화면 대신 필드 이름을 알려 줍니다.

SUBMIT, DELIVER, STATUS-REPORT여러 파트 지원오프라인 동작

브라우저에서 PDU 디코딩

필드에는 인코더가 만든 SMS-SUBMIT 프레임이 들어 있습니다. 어떤 프레임이든 붙여 넣고 ‘디코딩’을 누르면 아래에서 필드를 읽을 수 있습니다.

PDU 디코더

네트워크 불필요

공백은 무시합니다. 여러 PDU는 빈 줄이나 인코더의 ----- PDU n/total ----- 표시로 구분하세요.

디코딩된 필드

텍스트, 날짜와 연결 참조는 프레임이 담은 그대로 표시합니다. 디코더는 입력을 절대 고쳐 쓰지 않습니다.

어떤 것도 서버로 보내지 않습니다. 페이지의 JavaScript가 프레임을 읽으므로 개인 메시지 보관함에서 뽑은 PDU도 이 기기에 남습니다.

텍스트 모드와 PDU 모드

같은 메시지도 기록된 모드에 따라 다르게 보입니다.

보이는 것텍스트 모드 결과PDU 모드 결과
텍스트읽을 수 있는 문자16진수 옥텟; 텍스트는 패킹되거나 상위 바이트부터 인코딩됨
인코딩모뎀이 고름데이터 코딩 옥텟에 명시됨
긴 메시지모뎀이 분할을 숨김UDH가 참조, 파트 번호와 총수를 표시
날짜표시할 때 로컬 형식시간대 옥텟이 붙은 서비스 센터 시각
전송 리포트요약된 형태두 날짜와 결과 옥텟이 있는 전체 상태 프레임

텍스트 모드는 메시지를 읽을 수 있는 형태로 보여 줍니다. PDU 모드는 네트워크가 보관하는 형태로 보여 줍니다. 무언가 잘못될 때 어느 필드가 틀렸는지 알려 주는 것은 후자입니다.

SMS-DELIVER 필드 구조

받은 메시지에는 수신자도 유효 기간도 없지만 날짜는 있습니다.

필드옥텟내용
SCA1 + n메시지를 처리한 서비스 센터. 00은 프레임이 이를 생략함을 뜻함
첫 옥텟1메시지 타입, ‘다른 파트 있음’ 표시, 헤더 표시
발신자2 + n출발 주소. 국제 번호는 91을 씁니다
PID1프로토콜 식별자
DCS1문자 집합, 클래스, 압축 비트
SCTS7서비스 센터 시각: 년, 월, 일, 시, 분, 초, 시간대
UDL1GSM-7은 세프텟 수, UCS-2는 옥텟 수
UDn선택적 UDH와 텍스트

날짜는 Unix 값이 아니라 각 필드가 반 바이트씩 뒤집힌 십진수이고 마지막 옥텟이 UTC와의 차이를 15분 단위로 담습니다.

STATUS-REPORT 필드

상태 리포트는 사용자 데이터를 두 날짜와 결과 코드로 바꿉니다.

필드옥텟내용
첫 옥텟1메시지 타입 02와 설정된 경우 리포트 한정자 표시
MR1전송 시 장치가 돌려준 메시지 참조
수신자2 + n메시지를 보낸 번호
SCTS7서비스 센터가 메시지를 받은 시각
전달 시각7서비스 센터가 전달한 시각, 같은 형식
상태100–1F 전달됨, 20–3F 재시도 가능한 일시 오류, 40–5F 영구 오류, 60–7F 재시도 없는 일시 오류

상태 리포트에는 사용자 데이터가 없습니다. 프레임이 이 필드보다 길면 남은 옥텟은 경고로 보여 줄 뿐 디코딩하지 않습니다.

디코딩할 수 없는 예

오류 대부분은 망가진 메시지가 아니라 잘못 복사한 것입니다. 디코더는 읽지 못한 필드의 이름을 알려 줍니다.

입력메시지무엇이 문제인가
00110009812143주소가 선언한 길이보다 짧습니다.수신자 길이는 9자리를 가리키는데 뒤에 옥텟 두 개만 옵니다.
0011A16진수 길이가 홀수입니다(5 반 바이트). PDU는 완전한 바이트여야 합니다.복사 중 문자 하나가 빠져 마지막 바이트가 불완전합니다.
004100098121436587F9000006070003010201UDH 길이 7이 사용자 데이터를 넘습니다.헤더 길이 옥텟이 프레임에 든 것보다 많은 바이트를 약속합니다.

디코더는 서비스 센터 길이가 입력 끝을 넘는 프레임, 잘린 주소, 불완전한 날짜와 다른 메시지 타입인 SMS-COMMAND도 거부합니다. 8비트 인코딩은 지어낸 문자가 아니라 옥텟 수로 표시합니다. 모르는 확장 문자와 홀로 남은 이스케이프는 경고와 함께 버리고 메시지 전체를 잡음으로 만들지 않습니다.

이 세 입력은 인코더와 같은 회귀 테스트 파일에 들어 있습니다. 기대 오류는 부분 문자열로 저장되므로 디코더 문구를 바꿨다고 테스트가 실수로 통과하지 않습니다.

자동화가 필요하다면

이 페이지는 프레임 하나를 살펴보는 용도입니다. 메시지 흐름에는 SMS Deliverer를 쓰세요.

Windows 앱은 수신을 디코딩하고, 여러 파트 프레임을 다시 합치고, 발신자와 시각을 저장하며 전송 리포트를 원래 발송 옆에 보관합니다. 데스크톱 화면과 로컬 HTTP API가 같은 파서를 쓰므로 어디서 봐도 메시지가 같게 보입니다.

하드웨어는 GSM 모뎀 설명에서, 수신 기능은 Windows 소프트웨어 페이지에서, 시험용 프레임은 PDU 인코더에서 시작하세요.

지원하는 프레임

  • SMS-SUBMIT (연결 파트 포함)
  • 날짜와 발신자가 있는 SMS-DELIVER
  • 두 날짜가 있는 SMS-STATUS-REPORT
  • GSM-7, 확장 문자와 UCS-2
  • 8비트 UDH, 16비트 참조와 목적지 포트

2026-11 확인. SMS-COMMAND는 의도적으로 거부합니다: 메시지 트래픽이 아닙니다.

구매자가 자주 묻는 질문

디코더가 서비스 센터가 없다고 하는 이유는?

앞의 00은 프레임에 서비스 센터 주소가 없고 장치나 모뎀이 SIM의 값을 쓴다는 뜻입니다. 나머지 프레임은 정상적으로 디코딩됩니다.

전송 리포트와 여러 파트 메시지도 읽을 수 있나요?

됩니다. SMS-STATUS-REPORT는 두 날짜와 상태 옥텟을 보여 줍니다. 여러 파트 메시지에서는 디코더가 UDH를 읽어 파트마다 참조, 파트 번호와 총수를 표시합니다.

메시지 일부가 이진 데이터로 보이는 이유는?

프레임의 데이터 코딩이 문자 대신 8비트 데이터를 선언하기 때문입니다. 디코더는 옥텟 수를 보여 주고 존재하지 않는 문자를 만들어 내지 않습니다.

디코더가 PDU를 어딘가로 보내나요?

아니요. 분석은 이 브라우저에서 이루어지고 오프라인에서도 동작하므로 번호와 개인 내용이 담긴 메시지에도 안전합니다.