2008-10-22 7 views
0

일부 문자열이 포함 된 이진 파일을 가져 오는 절차가 있습니다. 문자열에는 확장 ASCII가 포함될 수 있습니다. CHR (224), 'à'. 이 절차에서는 RAW를 가져 와서 BCD 바이트를 하나씩 문자열로 변환합니다.확장 ASCII를 Oracle로 가져 오기

문제는 확장 ASCII 문자가 손실된다는 것입니다. 나는 이것이 UTF8에서 다른 것을 의미하는 그들의 가치 때문이라고 생각한다.

내가 필요한 것은 ASCII 문자 인덱스를 사용하고 적절한 UTF8 문자를 반환하는 함수라고 생각합니다.

업데이트 : 들어오는 텍스트에 해당하는 Oracle 문자 집합을 알고있는 경우 원시 바이트를 UTF8로 변환 할 수 있습니까? 원본 텍스트는 항상 1 바이트입니다.

+0

재미있는 유니 코드 읽기 : http://www.joelonsoftware.com/articles/Unicode .html – DCookie

답변

1

"확장 ASCII"와 같은 것은 없습니다. 더 정확하게 말하자면, 많은 인코딩이 ASCII의 수퍼 세트 (superset)이며, 첫 번째 127 개의 동일한 코드 포인트를 공유하며, 의미가 너무 모호합니다. 이 파일의 문자열이 UTF-8, ISO-8859-whatever, MacRoman 등을 사용하여 인코딩되었는지 알아야합니다.

질문의 두 번째 부분에 대한 답변은 동일합니다. UTF-8은 의도적으로 ASCII의 상위 집합입니다. 모든 ASCII 문자 (예 : 0-127)는 UTF-8 문자이기도합니다. 비 ASCII 문자 (즉, 128 이상)를 UTF-8로 변환하려면 먼저 인코딩이 무엇인지 알아야합니다.

+0

인코딩을 알고 있다면 어떻게 변환합니까? – steevc

관련 문제