2011-01-03 3 views
2

Windows 응용 프로그램 (anno ± 1990)에서 나오는 "레거시"이진 파일을 디코딩하는 방법을 알아 내려고하고 있습니다. 특히 저장되는 문자열에 대해 특정 인코딩이 사용되는 것을 이해하는 데 어려움이 있습니다.레거시 이진 형식 디코딩

예 : 유니 코드 문자열 "Düsseldorf"는 "Du \ 06sseldorf"또는 16 진수 "로 표시됩니다. 44 75 06 73 73 65 6C 64 6F 72 66"신비하게 "u + \ 06" u- 움라우트가 되라.

완전히 독점적입니까? 어떤 아이디어?

답변

6

이 앱은 DBCS와 유니 코드를 선행하므로 소유권이 있다고 생각합니다. 다양한 악센트 부호를 나타 내기 위해 31 이하의 비 ASCII 값을 사용하는 것 같습니다.

\06은 "이전 문자에 움라우트 표시"를 나타낼 수 있습니다.

문자열을 "Du\05sseldorf"으로 바꾸고 u가 악센트로 변경되는지 확인해보십시오. 그런 다음 1에서 31 사이의 다른 이스케이프 된 값을 시도해보십시오.이 이스케이프 문자에 대한 맵을 제시 할 수 있을지도 모릅니다. 물론지도가 있으면 모든 현대 문자열을 올바른 현대 유니 코드 문자열로 대체하는 루틴을 쉽게 만들 수 있습니다.

+0

감사합니다. 나는 매핑 테이블을 가지고 갈 것이다. – tbikeev