2017-03-11 16 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 * a *に変換することは非常に不可能です。 * a *はASCII文字セットの一部なので、ほぼすべてのコードページでほぼ常に* a *です。 – xanatos

+0

Windows 1255はラテン語ではなくヘブライ語ですが、あなたはそれを知っていますか? – xanatos

+0

あなたは正しく、 'Windows-1252'でも動作しません。 –

答えて

2

「a」が必要なときにユーザーが「a」を挿入しないのはなぜですか?これは、アプリケーションの大部分が懸念すべき問題のようには見えません。これは一般的にユーザーとOSの間だけです。 「テキストサービスと入力言語」を参照してください。

しかし、InputLanguage.CurrentInputLanguageInputLanguage.InstalledInputLanguagesのいずれかを割り当てることによって、アプリケーションは動的にキーボードレイアウトを設定できます。ユーザーに表示されているかどうかわからないので、アプリケーションがコントロールまたはインジケータを提供していれば、混乱は少なくなります。

+1

複数のキーボード言語がインストールされている場合は、Windowsのステータスバー(時計の近く)(ITA/ENGなど)の間で変更するオプションを取得する必要があります。 – xanatos

関連する問題