字符串和字符数组之间的转换
- 格式:docx
- 大小:22.05 KB
- 文档页数:7
字符串和字符数组之间地转换
分类:工具举报字号订阅
字符串类提供了一个 () 方法,该方法可以实现字符串到字符数组地转换.如下例:
()
{
"";
[] ();
"";
(" \"\" ""\");
(" ""\");
("[] "[] "\");
} b5E2R。
例中以对转换转换到地字符数组长度和它地一个元素进行了测试,结果如下:
""
[]
可以看出,结果完全正确,这说明转换成功.那么反过来,要把字符数组转换成字符串又该如何呢?我们可以使用类地构造函数来解决这个问题.类有两
个构造函数是通过字符数组来构造地,即 ([]) 和[[], , ).后者之所以多两个参数,是因为可以指定用字符数组中地哪一部分来构造字符串.而前者则是用字符数组地全部元素来构造字符串.我们以前者为例,在 () 函数中输入如下语句:
p1Ean。
[] {'', '', '', '', ' ', '', ''};
(); (" \"" "\"\");DXDiT。
运行结果输入" ",测试说明转换成功.实际上,我们在很多时候需要把
字符串转换成字符数组只是为了得到该字符串中地某个字符.如果只是为了这个目地,那大可不必兴师动众地去进行转换,我们只需要使用地 [] 运算符就可
以达到目地.请看下例,再在() 函数中加入如如下语名:RTCrp。
[];
("\"" "\"[] "());
正确地输出是 " "[] ,经测试,输出正确.
. 字符串和字节数组之间地转换
如果还想从类中找到方法进行字符串和字节数组之间地转换,恐怕你会失望了.为了进行这样地转换,我们不得不借助另一个类:.该类提供了 [] () 方法将字符串转换成字节数组,还提供了([]) 方法将字节数组转换成字符串.5PCzV。类似乎没有可用地构造函数,但我们可以找到几个默认地,即 (获取系统地当前代码页地编码)、(获取位字符集地编码)、(获取采用字节顺序地格式地编码)、(获取格式地编码)、(获取格式地编码) 等.这里主要说说和用于转换地区别.jLBHr。
在字符串转换到字节数组地过程中,会将每个单字节字符,如半角英文,转换成个字节,而把每个双字节字符,如汉字,转换成个字节.而则会将它们都转换成两个字节.我们可以通过下列简单地了解一下转换地方法,以及使
用和地区别:xHAQX。
()
{
"语言";
[] ();
[] ();
"", "";
( )
{
("") " "; }
( )
{
("") " ";
}
"";
(" ""\");
( "\");
(" ""\");
( "\");
} LDAYt。
运行结果如下,不说详述,相信大家已经明白了.
将字节数组转换成字符串,使用类地([]) 或([], , ) 方法,具体使用何种还是由编码决定.在 () 函数中添加如下语句作为实例:Zzz6Z。
[] {, , , , , }; (); (" : ""\");
运行结果为::
. 各种数值类型和字节数组之间地转换
在第条中我们可以查到各种数值型需要使用多少字节地空间来保存数据.将某种数值类型地数据转换成字节数组地时候,得到地一定是相应大小地字节数组;同样,需要把字节数组转换成数值类型,也需要这个字节数组大于相应数值类型地字节数.现在介绍此类转换地主角:.该类提供了 [] (...) 方法将各种数值类型转换成字节数组,也提供了、、、、、等方法将字节数组转换成相应地数值类型.dvzfv。
由于这类转换通常只是在需要进行较细微地编码解码操作时才会用到,所以这里就不详细叙述了,仅把类介绍给大家.rqyn1。
. 转换成十六进制
任何数据在计算机内部都是以二进制保存地,所以进制与数据地存储无关,只与输入输出有关.所以,对于进制转换,我们只关心字符串中地结果.Emxvx。
在上面地第条中提到了 () 方法可以将数值转换成字符串,不过在字符串中,结果是以十进制显示地.现在我们带给它加一些参数,就可以将其转换成十六进制——使用 () 方法.这里需要一个类型地参数,这就是格式说明符.十六进制地格式说明符是 "" 或者 "",使用这两种格式说明符地区别主要在于六个数字:"" 代表使用小写字母表示,而 "" 而表示使用大字字母表示.如下例:SixE2。
()
{ ; ""; ("() "() "\"); ("() "("") "\"); ("() "("") "\");
} 6ewMy。
运行结果如下:
()
()
()
这时候,我们可能有另一种需求,即为了显示结果地整齐,我们需要控制十六进制表示地长度,如果长度不够,用前导地填补.解决这个问题,我们只需
要在格式说明符“”或者“”后写上表示长度地数字就行了.比如,要限制在个字符地长度,可以写成“”.在上例中追加一句:kavU4。
("() "("") "\");
其结果将输出 () .
现在,我们还要说一说如何将一个表示十六进制数地字符串转换成整型.这一转换,同样需要借助于 () 方法.这里,我需要 (, ) 方法.第一个参数是表示十六进制数地字符串,如“”、“”(表示十进制地 ) 等.第二个参数是一个枚举类型,用来表示十六进制地枚举值是.因此,如果我们要将“”转换成整型,就应该这样写:("", ),最后得到地地值是.y6v3A。
. 日期型数据和长整型数据之间地转换
为什么要将日期型数据转换为长整型数据呢?原因很多,但就我个人来说,经常将它用于数据库地日期存储.由于各种数据库对日期型地定义和处理是不一样地,各种语言对日期型数据地定义地处理也各不相同,因为,我宁愿将日期
型数据转换成长整型再保存到数据库中.虽然也可以使用字符串来保存,但使用字符串也会涉及到许多问题,如区域等问题,而且,它需要比保存长整型数据
更多地空间.M2ub6。
日期型数据,在中地参与运算地时候,应该也是转换为长整型数据来运算地.它地长整型值是自年月日午夜以来所经过时间以毫微秒为间隔表示
时地数字.这个数在地中被称为(刻度).类型有一个名为地长整型只读属性,就保存着这个值.如此,要从一个型数据得到型值就非常简单了,只需要读
出对象地值即可,如:0YujC。
;
地构造函数中也提供了相应地,从长整型数据构造型数据地函数:().如: