转:获得汉字字符串的首个拼音字母的缩写
标题可能不太清楚,实现的功能如下:我爱中国-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号