AI 보이는 추론 실험실 · 식별자와 자료형

AI가 00123을 숫자로 읽으면 같은 식별자일까?

앞자리 0은 계산값에는 불필요해도 식별자에는 중요합니다. 숫자 변환과 문자열 보존을 바꿔 JSON 왕복 뒤 형식이 남는지 확인합니다.

탐구게시 2026-10-03읽기·실험 약 12분확인 문제 2개교육용 계산한국논리학협회 자체 제작제작·검수 LTCT 편집부

자료 보관실에서 성인 기록 담당자와 데이터 기술자가 빈 식별 카드와 줄무늬 표식을 비교하고 작은 공식 갈색 안경 올빼미가 카드를 분류함으로 옮기는 장면
주제 이해를 돕기 위한 AI 생성 이미지 · LTCT 자체 제작
오늘의 질문

크기를 재지 않는 회원번호·우편번호를 숫자로 바꾸면 어떤 정보가 사라질까요?

식별자 00123을 숫자로 보내면 123으로 줄고 문자열로 보내면 앞자리 0을 보존하는 두 경로 그림입니다.
식별자 00123을 숫자로 보내면 123으로 줄고 문자열로 보내면 앞자리 0을 보존하는 두 경로 그림입니다. · 한국논리학협회 자체 제작
그림 크게 보기 ↗
01

숫자처럼 보여도 수량이 아닐 수 있습니다

00123은 어떤 체계에서는 123번과 다른 고정 길이 식별자입니다. 앞자리 0이 자리수를 맞추거나 분류 구역을 나타낼 수 있습니다.

식별자끼리 더하고 빼지 않는다면 숫자형의 이점보다 형식 손실 위험이 큽니다. 자료 사전에 ‘문자열’이라고 명시하는 이유입니다.

02

JSON 숫자에는 앞자리 0을 그대로 쓸 수 없습니다

RFC 8259의 숫자 문법은 정수부가 0 자체이거나 1~9로 시작하도록 정합니다. 따라서 00123을 JSON 숫자로 직접 적는 표현은 표준 문법이 아닙니다.

문자열 "00123"은 다섯 문자를 그대로 보존합니다. 화면에 다시 표시하거나 다른 체계와 대조할 때 원형을 유지할 수 있습니다.

참고 · Tim Bray — JSON 숫자 문법과 문자열 ↗

03

AI 출력도 스키마로 검사합니다

AI가 표를 만들 때 숫자로 추측해 앞자리 0을 지울 수 있습니다. 입력 스키마와 출력 스키마에서 식별자 자료형, 길이, 허용 문자를 함께 정합니다.

다만 문자열로 저장한다고 식별자가 진짜인지 보장되지는 않습니다. 중복·체크숫자·발급기관 규칙은 별도 검증이 필요합니다.

직접 확인하기 · 교육용 계산

식별자와 저장 자료형을 바꾸며 JSON 왕복 결과 확인하기

숫자 경로는 JavaScript Number로 변환한 뒤 JSON으로 저장하고 다시 읽습니다. 문자열 경로는 따옴표가 있는 JSON 문자열로 보존합니다. 실제 회원자료를 사용하지 않습니다.

입력00123
JSON 저장값123
다시 읽은 값123
형식 보존아니요
원래 식별자 형식이 사라졌습니다.

식별자는 크기를 계산하는 수량이 아닙니다. 우편번호·회원번호처럼 앞자리 0이 의미를 가지면 문자열로 선언해야 합니다.

관계를 읽고, 다른 상황에 적용하기

두 문제로 생각 확인

100123을 숫자로 변환한 뒤 다시 문자열로 바꾸면?
2A0123 같은 식별자를 숫자로 바꿀 때 생기는 문제는?

두 문제의 답을 모두 선택하면 해설을 볼 수 있습니다.

나의 설명으로 마무리

오늘 발견한 관계

0 / 4,000자

메모는 현재 기기의 브라우저에만 보관됩니다. 계정이나 다른 기기에는 동기화되지 않습니다.

출처와 제작 안내

원문을 참고해 설명·도표·문항·실험을 새로 작성했습니다. 별도 표시가 없는 사례와 수치는 학습을 위한 가상 예시입니다. 원문 번역이나 실제 모델의 성능 평가 자료가 아닙니다.

  1. JSON 숫자 문법과 문자열 ↗Tim BrayRFC 8259: The JavaScript Object Notation (JSON) Data Interchange Format

    2017년 12월 표준 원문에서 JSON 숫자의 정수부는 0 자체를 제외하면 앞자리 0을 허용하지 않는다는 문법과 문자열 정의를 확인했습니다. 식별자를 문자열로 유지하는 예시는 LTCT의 적용입니다.