내 C# 응용 프로그램은 유니 코드 및 ASCII 문자 모두 C#
string [,] unicode2Ascii = { { "ஹ", "\x86" } };
& # 3001이 매핑이에 설정 조작. 이것은 MS Word가 바이트 시퀀스로 저장 한 유니 코드 값의 원시 16 진수 리터럴입니다. 이 유니 코드 값 "문자열"을 255 이하의 16 진수 값으로 매핑하려고합니다 (비 유니 코드 지원 시스템을 수용 할 수 있도록). 결과 OUPUT가있다 그러나
S = S.replace(unicode2Ascii[0,0], unicode2Ascii[0,1]);
:
는이 같은하려면 string.replace를 사용하려고? 실제 16 진수 0x86 대신 저장됩니다. 해당 배열의 두 번째 요소에 대한 인코딩을 windows-1252와 같은 것으로 설정할 수있는 방법에 대한 포인터는 무엇입니까?또는이 변환을 수행하는 더 좋은 방법이 있습니까? .NET에서
유니 코드 문자에 해당하는 ASCII 코드를 검색하려는 의도가 없습니다. 대신 단순히 해당 매핑 테이블에 정의 된 "일부"ASCII 코드 문자로 바꾸십시오. 기본적으로 .NET에서 문자열로 0x86을 표현할 수 있도록 노력하고 있습니다. & # 3001 리터럴을 대체 할 string.replace 메서드를 사용할 수 있습니다. – Murlex
@Murlex @Murlex 정확히 언제 어떤 결과가 기대되는지 혼란스러워합니다. 타밀어 텍스트 인 유니 코드 파일을 코드 페이지 1252 (질문에서 설명한대로)의 ANSI 파일로 변환합니다. 의도 한 청중은 누구입니까? –
UNICODE 사양이 나오기 전에 TSCII (www.tscii.org)라고하는 타밀어 코드 페이지 표준을 사용했습니다.타밀어 유니 코드 문자를 표시하는 데 필요한 새로운 쉐이핑 엔진을 지원하지 않는 시스템이 여전히 있습니다. 따라서 우리는 때때로 유니 코드 텍스트를 1 바이트 TSCII 표준으로 "다운 그레이드"해야합니다. – Murlex