รับคำย่อของอักษรพินอินตัวแรกของสตริงอักขระจีน
ผู้เขียน:Eve Cole
เวลาอัปเดต:2009-07-01 16:08:11
ชื่ออาจไม่ชัดเจน แต่ฟังก์ชั่นการใช้งานมีดังนี้ I Love China-WAZG
1. ความแตกต่างระหว่างตัวอักษรจีนและตัวอักษรภาษาอังกฤษ
ตาราง ASC มาตรฐานไม่มีอักขระภาษาจีน เนื่องจากอักขระ ASC มีขนาดเพียง 1 ไบต์ ซึ่งก็คือ 8 บิต ซึ่งช่วงของตัวเลขที่สามารถแทนค่าได้ 8 บิต ถ้ามีลายเซ็น ควรเป็น -128-127 ไม่ได้ลงนาม ควรเป็น 0- 255 และเรารู้ว่าอักขระจีนควรมีขนาด 2 ไบต์ และช่วงการแสดงควรเป็น -32768-32767 ดังนั้น asc ของอักขระจีน เช่น บิต: 11002111,11111101 อักขระที่แสดงควรเกินช่วงที่ asc สามารถแสดงออกได้ แล้วล้นออกมา ดังนั้นโค้ด ASC ของอักขระจีนที่มีขนาด 2 ไบต์จึงควรเป็นค่าลบ
2.การใช้งานฟังก์ชั่น
1ใช้ระบบ;
2ใช้ System.Collections.Generic;
3ใช้ระบบข้อความ;
4
5แอปพลิเคชันคอนโซลเนมสเปซ1
6{
โปรแกรม 7 คลาส
8 {
9 โมฆะคงที่หลัก (สตริง [] args)
10 {
11 Console.WriteLine(Get ChineseFirstChar("ฉัน *% รักคุณประเทศจีน");;
12}
13 สตริงคงที่ Get ChineseFirstChar (สตริง chineseStr)
14 {
15 StringBuilder sb = ใหม่ StringBuilder();
16 int length = chineseStr.Length;
17 สำหรับ (int i = 0; i <ความยาว; i++)
18 {
19 ถ่าน chineseChar = chineseStr[i];
20 sb.ผนวก(GetpyChar(chineseChar));
ยี่สิบเอ็ด }
22 กลับ sb.ToString();
ยี่สิบสาม }
24 สตริงคงที่ GetpyChar (ถ่าน c)
25 {
26 int ascCode = Microsoft.VisualBasic.Strings.Asc(c);
27 อุณหภูมิ int = 65536 + ascCode;
28 ถ้า (อุณหภูมิ >= 45217 && อุณหภูมิ <= 45252)
29 {
30 กลับ "A";
31}
32 อื่นถ้า (อุณหภูมิ >= 45253 && อุณหภูมิ <= 45760)
33 {
34 กลับ "B";
35}
36 อื่นถ้า (อุณหภูมิ >= 45761 && อุณหภูมิ <= 46317)
37 {
38 กลับ "C";
39 }
40 อื่นถ้า (อุณหภูมิ >= 46318 && อุณหภูมิ <= 46825)
41 {
42 กลับ "D";
43}
44
45
46 อื่นถ้า (อุณหภูมิ >= 46826 && อุณหภูมิ <= 47009)
47 {
48 ส่งคืน "E";
49 }
50 อื่นถ้า (อุณหภูมิ >= 47010 && อุณหภูมิ <= 47296)
51 {
52 กลับ "F";
53}
54 อื่นถ้า (อุณหภูมิ >= 47297 && อุณหภูมิ <= 47613)
55 {
56 ส่งคืน "G";
57 }
58 อื่นถ้า (อุณหภูมิ >= 47614 && อุณหภูมิ <= 48118)
59 {
60 กลับ "H";
61 }
62 อื่นถ้า (อุณหภูมิ >= 48119 && อุณหภูมิ <= 49061)
63 {
64 กลับ "เจ";
65 }
66 อื่นถ้า (อุณหภูมิ >= 49062 && อุณหภูมิ <= 49323)
67 {
68 กลับ "K";
69 }
70 อื่นถ้า (อุณหภูมิ >= 49324 && อุณหภูมิ <= 49895)
71 {
72 กลับ "L";
73}
74 อื่นถ้า (อุณหภูมิ >= 49896 && อุณหภูมิ <= 50370)
75 {
76 ส่งคืน "M";
77 }
78 อื่นถ้า (อุณหภูมิ >= 50371 && อุณหภูมิ <= 50613)
79 {
80 ส่งคืน "N";
81 }
82 อื่นถ้า (อุณหภูมิ >= 50614 && อุณหภูมิ <= 50621)
83 {
84 กลับ "O";
85}
86 อื่นถ้า (อุณหภูมิ >= 50622 && อุณหภูมิ <= 50905)
87 {
88 กลับ "P";
89 }
90 อื่นถ้า (อุณหภูมิ >= 50906 && อุณหภูมิ <= 51386)
91 {
92 ส่งคืน "Q";
93}
94 อื่นถ้า (อุณหภูมิ >= 51387 && อุณหภูมิ <= 51445)
95 {
96 กลับ "R";
97 }
98 อื่นถ้า (อุณหภูมิ >= 51446 && อุณหภูมิ <= 52217)
99 {
100 ส่งคืน "S";
101 }
102 อื่นถ้า (อุณหภูมิ >= 52218 && อุณหภูมิ <= 52697)
103 {
104 กลับ "T";
105 }
106 อื่นถ้า (อุณหภูมิ >= 52698 && อุณหภูมิ <= 52979)
107 {
108 ส่งคืน "W";
109 }
110 อื่นถ้า (อุณหภูมิ >= 52980 && อุณหภูมิ <= 53688)
111 {
112 กลับ "X";
113 }
114 อื่นถ้า (อุณหภูมิ >= 53689 && อุณหภูมิ <= 54480)
115 {
116 กลับ "Y";
117 }
118 อื่นถ้า (อุณหภูมิ >= 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