2017-03-11 1 views
-1

ùa (으)로 변환하려고합니다.C#의 라틴어에서 영어 인코딩으로 변환

예제 코드 : 내가 asciiSring 얻을 것은

Encoding latinEncoding = Encoding.GetEncoding("Windows-1252"); 
Encoding ascii = Encoding.ASCII; 
byte[] latinBytes = ascii.GetBytes(txt); 
string asciiSring = latinEncoding.GetString(latinBytes); 

입니다

'?' 대신 'a'.

제대로 수행하는 방법은 무엇입니까?

+1

코드 페이지를 사용하여 * * *를 * a *로 변환 할 가능성은 거의 없습니다. * a *는 ASCII 문자 세트의 일부이므로 거의 모든 코드 페이지에서 거의 항상 * a *입니다. – xanatos

+0

그리고 Windows 1255는 라틴어가 아닌 히브리어입니다. 알고 계십니까? – xanatos

+0

맞습니다. 'Windows-1252'에서도 작동하지 않습니다. –

답변

2

'a'가 필요하면 사용자가 'a'를 삽입하지 않는 이유는 무엇입니까? 이것은 대다수의 응용 프로그램이 고려해야하는 문제는 아닌 것 같습니다. 일반적으로 사용자와 OS 사이에서만 가능합니다. "텍스트 서비스 및 입력 언어"를 참조하십시오.

그럼에도 불구하고 응용 프로그램은 InputLanguage.CurrentInputLanguageInputLanguage.InstalledInputLanguages 중 하나를 할당하여 동적으로 키보드 레이아웃을 설정할 수 있습니다. 사용자가 볼 수 있는지 확신 할 수 없으므로 응용 프로그램에서 컨트롤이나 표시기를 제공하면 혼동을 덜 일으킬 수 있습니다.

+1

여러 키보드 언어를 설치 한 경우 Windows의 상태 표시 줄, 시계 근처 (예 : ITA/ENG 있음)에서 옵션을 변경해야합니다.하지만 숨길 수는 있습니다. – xanatos

관련 문제