獲得漢字字符串的首個拼音字母的縮寫
標題可能不太清楚,實現的功能如下:我愛中國-WAZG
1。漢字字符與英文字母之間區別
標準的asc表不包含漢字字符,因為一個asc字符只有1byte,就是8bit,8bit所能代表的數字范圍,如果是有符號的好,因該為-128-127,無符號的話,應該為0-255。而我們知道,一個漢字字符,應該占有2個byte,表示范圍應該為-32768-32767,所以漢字的asc,舉例一段bit: 11002111,11111101它所代表的字符,應該超過了asc所能表述的范圍,這時候就會產生溢出。所以占有兩個byte的漢字字符的asc碼應該為負的。
2.功能實現
3.文件:
/Files/jillzhang/Jillzhang.rar
1。漢字字符與英文字母之間區別
標準的asc表不包含漢字字符,因為一個asc字符只有1byte,就是8bit,8bit所能代表的數字范圍,如果是有符號的好,因該為-128-127,無符號的話,應該為0-255。而我們知道,一個漢字字符,應該占有2個byte,表示范圍應該為-32768-32767,所以漢字的asc,舉例一段bit: 11002111,11111101它所代表的字符,應該超過了asc所能表述的范圍,這時候就會產生溢出。所以占有兩個byte的漢字字符的asc碼應該為負的。
2.功能實現
1
using System;
2
using System.Collections.Generic;
3
using System.Text;
4
5
namespace ConsoleApplication1
6
{
7
class Program
8
{
9
static void Main(string[] args)
10
{
11
Console.WriteLine(GetChineseFirstChar("我a*%愛你中國"));;
12
}
13
static string GetChineseFirstChar(string chineseStr)
14
{
15
StringBuilder sb = new StringBuilder();
16
int length = chineseStr.Length;
17
for (int i = 0; i < length; i++)
18
{
19
char chineseChar = chineseStr[i];
20
sb.Append(GetpyChar(chineseChar));
21
}
22
return sb.ToString();
23
}
24
static string GetpyChar(char c)
25
{
26
int ascCode = Microsoft.VisualBasic.Strings.Asc(c);
27
int temp = 65536 + ascCode;
28
if (temp >= 45217 && temp <= 45252)
29
{
30
return "A";
31
}
32
else if (temp >= 45253 && temp <= 45760)
33
{
34
return "B";
35
}
36
else if (temp >= 45761 && temp <= 46317)
37
{
38
return "C";
39
}
40
else if (temp >= 46318 && temp <= 46825)
41
{
42
return "D";
43
}
44
45
46
else if (temp >= 46826 && temp <= 47009)
47
{
48
return "E";
49
}
50
else if (temp >= 47010 && temp <= 47296)
51
{
52
return "F";
53
}
54
else if (temp >= 47297 && temp <= 47613)
55
{
56
return "G";
57
}
58
else if (temp >= 47614 && temp <= 48118)
59
{
60
return "H";
61
}
62
else if (temp >= 48119 && temp <= 49061)
63
{
64
return "J";
65
}
66
else if (temp >= 49062 && temp <= 49323)
67
{
68
return "K";
69
}
70
else if (temp >= 49324 && temp <= 49895)
71
{
72
return "L";
73
}
74
else if (temp >= 49896 && temp <= 50370)
75
{
76
return "M";
77
}
78
else if (temp >= 50371 && temp <= 50613)
79
{
80
return "N";
81
}
82
else if (temp >= 50614 && temp <= 50621)
83
{
84
return "O";
85
}
86
else if (temp >= 50622 && temp <= 50905)
87
{
88
return "P";
89
}
90
else if (temp >= 50906 && temp <= 51386)
91
{
92
return "Q";
93
}
94
else if (temp >= 51387 && temp <= 51445)
95
{
96
return "R";
97
}
98
else if (temp >= 51446 && temp <= 52217)
99
{
100
return "S";
101
}
102
else if (temp >= 52218 && temp <= 52697)
103
{
104
return "T";
105
}
106
else if (temp >= 52698 && temp <= 52979)
107
{
108
return "W";
109
}
110
else if (temp >= 52980 && temp <= 53688)
111
{
112
return "X";
113
}
114
else if (temp >= 53689 && temp <= 54480)
115
{
116
return "Y";
117
}
118
else if (temp >= 54481 && temp <= 62289)
119
{
120
return "Z";
121
}
122
else
123
{
124
return c.ToString();
125
}
126
}
127
}
128
}
129
using System;2
using System.Collections.Generic;3
using System.Text;4

5
namespace ConsoleApplication16
{7
class Program8
{9
static void Main(string[] args)10
{11
Console.WriteLine(GetChineseFirstChar("我a*%愛你中國"));;12
}13
static string GetChineseFirstChar(string chineseStr)14
{15
StringBuilder sb = new StringBuilder();16
int length = chineseStr.Length;17
for (int i = 0; i < length; i++)18
{ 19
char chineseChar = chineseStr[i];20
sb.Append(GetpyChar(chineseChar));21
}22
return sb.ToString();23
}24
static string GetpyChar(char c)25
{26
int ascCode = Microsoft.VisualBasic.Strings.Asc(c);27
int temp = 65536 + ascCode;28
if (temp >= 45217 && temp <= 45252)29
{30
return "A";31
}32
else if (temp >= 45253 && temp <= 45760)33
{34
return "B";35
}36
else if (temp >= 45761 && temp <= 46317)37
{38
return "C";39
}40
else if (temp >= 46318 && temp <= 46825)41
{42
return "D";43
}44

45

46
else if (temp >= 46826 && temp <= 47009)47
{48
return "E";49
}50
else if (temp >= 47010 && temp <= 47296)51
{52
return "F";53
}54
else if (temp >= 47297 && temp <= 47613)55
{56
return "G";57
}58
else if (temp >= 47614 && temp <= 48118)59
{60
return "H";61
}62
else if (temp >= 48119 && temp <= 49061)63
{64
return "J";65
}66
else if (temp >= 49062 && temp <= 49323)67
{68
return "K";69
}70
else if (temp >= 49324 && temp <= 49895)71
{72
return "L";73
}74
else if (temp >= 49896 && temp <= 50370)75
{76
return "M";77
}78
else if (temp >= 50371 && temp <= 50613)79
{80
return "N";81
}82
else if (temp >= 50614 && temp <= 50621)83
{84
return "O";85
}86
else if (temp >= 50622 && temp <= 50905)87
{88
return "P";89
}90
else if (temp >= 50906 && temp <= 51386)91
{92
return "Q";93
}94
else if (temp >= 51387 && temp <= 51445)95
{96
return "R";97
}98
else if (temp >= 51446 && temp <= 52217)99
{100
return "S";101
}102
else if (temp >= 52218 && temp <= 52697)103
{104
return "T";105
}106
else if (temp >= 52698 && temp <= 52979)107
{108
return "W";109
}110
else if (temp >= 52980 && temp <= 53688)111
{112
return "X";113
}114
else if (temp >= 53689 && temp <= 54480)115
{116
return "Y";117
}118
else if (temp >= 54481 && temp <= 62289)119
{120
return "Z";121
}122
else123
{124
return c.ToString();125
}126
}127
}128
}129

3.文件:
/Files/jillzhang/Jillzhang.rar
作者:jillzhang
出處:http://jillzhang.cnblogs.com/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
出處:http://jillzhang.cnblogs.com/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。



浙公網安備 33010602011771號