Tablora · 라이브러리
SpreadsheetML 이스케이프처럼 보이는 텍스트 보존하기
_x0041_ 같은 텍스트는 XLSX 파일 안의 이스케이프 코드입니다. 텍스트 보존 변환 도구가 이를 보호하므로 셀에는 A가 아니라 _x0041_이 표시됩니다.
XLSX 형식이 예약한 패턴
XLSX 파일 안의 텍스트에는 _x 다음에 16진수 네 자리와 밑줄이 오는 형태의 코드가 들어갈 수 있습니다. _x0041_ 같은 것입니다. 파일을 읽는 스프레드시트는 각 코드를 그것이 나타내는 문자로 풀어내므로, _x0041_은 대문자 A가 되고 _x000D_는 캐리지 리턴이 됩니다. 소프트웨어에는 편리하지만, 시스템 식별자, 데이터베이스의 필드 이름, 로그 토큰처럼 실제 값이 우연히 코드처럼 보이면 문제가 됩니다.
텍스트 보존 변환 도구는 기록하기 전에 그런 패턴을 모두 보호합니다. 앞쪽 밑줄에 이스케이프를 더해, 뒤따르는 문자를 글자 그대로 보여 주라고 스프레드시트에 알립니다. 이는 XML을 위해 앰퍼샌드와 꺾쇠괄호를 이스케이프하는 것과는 별개의 단계입니다.
영향을 받는 것은 정확한 형태뿐입니다. 밑줄, x, 16진수 문자 네 개, 닫는 밑줄입니다. _x41_이나 닫는 밑줄이 없는 _x0041 같은 것은 파일에서도 스프레드시트에서도 일반 텍스트입니다.
_x0041_ 예시
이 페이지의 예시에는 code라는 열 하나와 값 _x0041_이 있습니다. 통합 문서에서 기대하는 셀 텍스트는 _x0041_이며 명시적인 텍스트로 기록되므로, 스프레드시트에는 수식도 숫자도 보이지 않습니다. tablora-table.xlsx를 열면 셀에는 문자 A가 아니라 입력한 일곱 글자가 표시됩니다.
이스케이프처럼 보이는 값 확인하기
- 원본에서 밑줄 다음에 x와 0~9, A~F 중 네 글자가 오고 다시 밑줄로 끝나는 것을 찾습니다. 16진수의 대문자와 소문자 모두 코드로 처리됩니다.
- 그 값이 글자 그대로의 의미인지 확인합니다. 원본 자체에 인코딩된 텍스트가 있다면 여기가 아니라 그것을 만든 시스템에서 디코딩하세요.
- 표를 붙여 넣고 계산을 누른 뒤 미리 보기를 확인합니다.
- 다운로드 (XLSX)를 사용하고, 스프레드시트의 셀을 원래 값과 비교합니다.
- 셀 안의 캐리지 리턴도 같은 방식으로 보호되므로 이것도 사라지지 않습니다.
다른 내보내기의 이스케이프 패턴
- 브라우저 도구에서 받은 CSV 파일은 _x0041_을 일반 문자로 기록합니다. CSV에는 그런 인코딩이 없으며, 이를 적용하는 것은 스프레드시트의 XLSX 읽기이기 때문입니다.
- Tablora 앱의 XLSX 내보내기는 앰퍼샌드와 괄호는 이스케이프하지만 이 보호는 더하지 않으므로, _x0041_이 있는 페이지에서 읽은 셀은 풀어진 상태로 표시될 수 있습니다. 그런 값은 앱에서 CSV를 내보내거나, 셀을 여기 텍스트 보존 변환 도구에 붙여 넣고 XLSX를 다운로드하세요.
- 이런 패턴은 일반적인 표에서는 드뭅니다. 발견된다면 대개 기술 시스템에서 온 것이므로, 비교를 위해 원래 파일을 보관하는 수고를 들일 가치가 있습니다.
입력값
- 표 텍스트
- code _x0041_
- 필드 구분 기호
- ,
결과
- 행 수
- 2
- 열 수
- 1
| code |
|---|
| _x0041_ |
- 파일 크기(바이트)
- 2302
식별자와 수식처럼 보이는 내용을 보존하기 위해 스프레드시트의 모든 셀을 텍스트로 저장합니다.