私は、Visual Studio 2010をc#で使用して、テキストをユニコードに変換しています。私のように文字列abc = "मेरा"を持っています。 この文字列には4文字あります。私はすべての4つのユニコード文字が必要です。 私を助けてください。あなたのUnicode値を返しますヒンディー文字を含む文字列の文字のUnicode 10進表現を取得するにはどうすればよいですか?
答えて
string abc= "मेरा";
のようなコードを書くと、すでにUnicode(特にUTF-16)として扱われているので、何も変換する必要はありません。単数の文字にアクセスしたい場合は、通常のインデックスを使用してそれを行うことができます。 abc[1]
はे
(DEVANAGARI VOWEL SIGN E)である。
これらの文字の数値表現を見たい場合は、整数にキャストします。たとえば、あなたがこれらの数字の16進表現を表示したい場合は
abc.Select(c => (int)c)
は、番号2350のシーケンスを与える2375、2352、2366.、ToString()
を使用します。
abc.Select(c => ((int)c).ToString("x4"))
は「一連の文字列を返します。 「092e」、「0947」、「0930」、「093e」である。
私が数値表現を述べたとき、私は実際にはUTF-16を使ったエンコーディングを意味することに注意してください。 Basic Multilingual Planeの文字については、Unicodeコードポイントと同じです。使用された文字の大部分はBMPにあります。ここには4人のヒンディー語の文字が含まれています。
他のプレーンの文字も処理したい場合は、次のようなコードを使用できます。
byte[] bytes = Encoding.UTF32.GetBytes(abc);
int codePointCount = bytes.Length/4;
int[] codePoints = new int[codePointCount];
for (int i = 0; i < codePointCount; i++)
codePoints[i] = BitConverter.ToInt32(bytes, i * 4);
UTF-32はすべての(21ビット)コードポイントを直接エンコードするため、これが表示されます。 (もっと単純な解決策があるかもしれませんが、私は見つけませんでした)
あなたはユニコードにレガシーエンコーディングからファイルを変換しようとしている場合:
は、所望のUnicode符号化方式を使用してファイルを作成し、ソースファイルの正しいエンコーディングを供給、ファイルをお読みください。
using (StreamReader reader = new StreamReader(@"C:\MyFile.txt", Encoding.GetEncoding("ISCII")))
using (StreamWriter writer = new StreamWriter(@"C:\MyConvertedFile.txt", false, Encoding.UTF8))
{
writer.Write(reader.ReadToEnd());
}
あなたはUnicodeコードポイントにデーヴァナーガリー文字のマッピングを探している場合:
あなたはUnicode Consortiumウェブサイトhereでチャートを見つけることができます。
Unicodeコードポイントは伝統的には16進数で書かれています。したがって、10進数2350ではなく、コードポイントはU + 092Eと書かれ、コードチャートでは092Eと表示されます。
あなたは、文字列を持っている場合は
var abc = "मेरा";
foreach (var c in abc)
{
Console.WriteLine((int)c);
}
が
2350
2375
2352
2366
ありがとう、それは私のために働いた。 – Deepak
その結果:ネットCHAR は(少なくとも、BMPコードポイントのために)、あなたは、単に文字列内のすべての文字を列挙することができます Unicode文字ですs = मेरा
あなたはすでに答えがあります。
この文字列には、UTF-16で8バイトで表されるBMPの4つのコードポイントが含まれています。あなたは基礎となる8つのバイトをしたい場合は、なるようにそれらにアクセスすることができ
などforeach
ループで、
s[i]
でインデックスでそれらにアクセスすることができます
string str = @"मेरा";
byte[] arr = System.Text.UnicodeEncoding.GetBytes(str);
文字列には4つのコードポイントが含まれ、4つの 'char'sまたは8バイトとして表されます。あなたのコード(固定時)は8バイトの配列を返します。 – svick
@svick私は2つのコードポイントしか見ることができません。 4がどこから来たのか説明できますか? –
@svick私のヒンディーはあまり良くないようですね!私は私の答えを訂正しました。 –
- 1. Swiftの10進コード文字を含む文字列をUTF-8文字列に変換するには?
- 2. 文字を含む文字列を含む文字列
- 3. 文字エスケープシーケンスを含む文字列をcharに変換するにはどうすればよいですか?
- 4. アラビア文字を含む文字列を検索するにはどうすればよいですか?
- 5. u '文字を含むJSON文字列を解析するにはどうすればよいですか?
- 6. #文字を含む文字列を解析するにはどうすればよいですか?
- 7. Cの文字配列から文字列を取得するにはどうすればよいですか?
- 8. 他の文字を含む文字列からintを取得するには?
- 9. 文字列内の文字列を文字列内で渡すにはどうすればよいですか?
- 10. 改行文字を含む文字列の正規表現パターン
- 11. スラッシュ文字を含む文字列パスパラメータを渡すにはどうすればよいですか?
- 12. Java文字列のUnicode文字を検出するにはどうすればよいですか?
- 13. 文字列を含む配列のインデックスを取得するにはどうすればよいですか?
- 14. アルファベットに別の文字を含む文字を追加するにはどうすればよいですか?
- 15. 文字列内の\文字を/文字に変更するにはどうすればよいですか?
- 16. Clojureで文字のASCII 10進数値を取得するにはどうすればよいですか?
- 17. Odoo v10のターゲットフィールド文字列の文字を含む文字列でレコードを検索するにはどうすればよいですか?
- 18. 特殊文字を含む文字列の先頭140文字を取得
- 19. 文字列のUnicode文字をPythonに置き換えるにはどうすればいいですか?
- 20. (OCaml)文字列から文字を取得するにはどうすればよいですか?
- 21. 文字を含む文字列からスウィフト10進数を返す理由は何ですか?
- 22. NUnit - 合成Unicode文字を含む文字列を比較する方法は?
- 23. Python2.xのUnicode文字列からエスケープ文字(エスケープ文字のUnicode文字)を削除するには?
- 24. 特殊文字を含む文字列をエスケープされた別の文字列に変換するにはどうすればいいですか?
- 25. 文字列のn番目の文字を取得するにはどうすればよいですか?私は、文字列を持っている
- 26. 各文字列の間に特定の数のスペースを含む文字列を含むリストを印刷するにはどうすればよいですか?
- 27. ソル文字列フィールドを10文字に切り詰めるにはどうすればよいですか?
- 28. base64文字列を10進数の文字列にデコード
- 29. 文字列内の1文字を大文字にするにはどうすればいいですか
- 30. 10進数の文字列
はhttp://unicodelookup.com/#मेराを参照してください。/1 –