中国語の文字列の最初のピンイン文字の略語を取得します
著者:Eve Cole
更新時間:2009-07-01 16:08:11
タイトルがわかりにくいかもしれませんが、実装されている機能は以下の通りです: I Love China-WAZG
1.漢字と英語文字の違い
ASC 文字は 1 バイト (8 ビット) しかないため、標準の ASC テーブルには中国語の文字は含まれません。符号付きの場合、それは -128 ~ 127 になります。符号なしの場合、0 ~ 255 である必要があります。そして、中国語の文字は 2 バイトを占める必要があり、表現範囲は -32768 ~ 32767 である必要があることがわかっているため、たとえば、中国語の文字の asc は少し: 11002111,11111101、それが表す文字は asc の範囲を超える必要があります。を表現できる場合、オーバーフローが発生します。したがって、2 バイトを占める漢字の asc コードは負の値でなければなりません。
2.機能実装
1システムを使用する。
2System.Collections.Generic を使用します。
3System.Text を使用します。
4
5名前空間 ConsoleApplication1
6{
7つのクラスプログラム
8 {
9 静的 void Main(string[] args)
10 {
11 Console.WriteLine(Get ChineseFirstChar("私は中国を*%愛しています"));;
12}
13 静的文字列 Get ChineseFirstChar(string chineseStr)
14 {
15 StringBuilder sb = new StringBuilder();
16 int 長さ = chineseStr.Length;
17 for (int i = 0; i < length; i++)
18 {
19 文字 chineseChar = chineseStr[i];
20 sb.Append(GetpyChar(chineseChar));
21 }
22 戻り値 sb.ToString();
23 }
24 静的文字列 GetpyChar(char c)
25 {
26 int ascCode = Microsoft.VisualBasic.Strings.Asc(c);
27 int temp = 65536 + ascCode;
28 if (温度 >= 45217 && 温度 <= 45252)
29 {
30 「A」を返します。
31}
32 else if (温度 >= 45253 && 温度 <= 45760)
33 {
34 "B" を返します。
35}
36 else if (温度 >= 45761 && 温度 <= 46317)
37 {
38 "C" を返します。
39 }
40 else if (温度 >= 46318 && 温度 <= 46825)
41 {
42 "D" を返します。
43}
44
45
46 else if (温度 >= 46826 && 温度 <= 47009)
47 {
48 "E" を返します。
49 }
50 else if (温度 >= 47010 && 温度 <= 47296)
51 {
52 "F" を返します。
53}
54 else if (温度 >= 47297 && 温度 <= 47613)
55 {
56 "G" を返します。
57 }
58 else if (温度 >= 47614 && 温度 <= 48118)
59 {
60 "H" を返します。
61 }
62 else if (温度 >= 48119 && 温度 <= 49061)
63 {
64 "J" を返します。
65 }
66 else if (温度 >= 49062 && 温度 <= 49323)
67 {
68 "K" を返します。
69 }
70 else if (温度 >= 49324 && 温度 <= 49895)
71 {
72 "L" を返します。
73}
74 else if (温度 >= 49896 && 温度 <= 50370)
75 {
76 "M" を返します。
77 }
78 else if (温度 >= 50371 && 温度 <= 50613)
79 {
80 「N」を返します。
81 }
82 else if (温度 >= 50614 && 温度 <= 50621)
83 {
84 "O" を返します。
85}
86 else if (温度 >= 50622 && 温度 <= 50905)
87 {
88 "P" を返します。
89 }
90 else if (温度 >= 50906 && 温度 <= 51386)
91 {
92 "Q" を返します。
93}
94 else if (温度 >= 51387 && 温度 <= 51445)
95 {
96 リターン "R";
97 }
98 else if (温度 >= 51446 && 温度 <= 52217)
99 {
100 は「S」を返します。
101 }
102 else if (温度 >= 52218 && 温度 <= 52697)
103 {
104 「T」を返します。
105 }
106 else if (温度 >= 52698 && 温度 <= 52979)
107 {
108 "W" を返します。
109 }
110 else if (温度 >= 52980 && 温度 <= 53688)
111 {
112 「X」を返します。
113 }
114 else if (温度 >= 53689 && 温度 <= 54480)
115 {
116 「Y」を返します。
117 }
118 else if (温度 >= 54481 && 温度 <= 62289)
119 {
120 「Z」を返します。
121 }
122 その他
123 {
124 リターン c.ToString();
125 }
126 }
127 }
128}
129
http://www.cnblogs.com/jillzhang/archive/2006/10/30/544596.html