pengpenglin
人,必須選擇一種生活方式并有勇氣堅(jiān)持下去
BlogJava
首頁
新隨筆
新文章
聯(lián)系
聚合
管理
posts - 262, comments - 221, trackbacks - 0
【Java基礎(chǔ)專題】編碼與亂碼(06)---字符的各種值轉(zhuǎn)換
package
example.encoding;
/** */
/**
* The Class ChineseValidator.
*/
public
class
CharacterValueConveter
{
/** */
/**
* The main method.
*
*
@param
args the arguments
*/
public
static
void
main(String args[])
{
CharacterValueConveter conveter
=
new
CharacterValueConveter();
conveter.testConvertion(
"
中文
"
);
}
/** */
/**
* Test convertion.
*
*
@param
content the content
*/
public
void
testConvertion(String content)
{
byte
[] bytes
=
content.getBytes();
System.out.println(
"
Original String :
"
+
content);
System.out.println();
//
Get bytes array
System.out.println(
"
Convert string to bytes array :
"
);
for
(
int
i
=
0
; i
<
bytes.length; i
++
)
{
System.out.println(
"
byte[
"
+
i
+
"
]=
"
+
bytes[i]);
}
System.out.println();
//
Get each character and unicode
System.out.println(
"
Start to convert by character:
"
+
"
\n
"
);
for
(
int
j
=
0
; j
<
content.length(); j
++
)
{
char
c
=
content.charAt(j);
printAllValue(c);
}
}
/** */
/**
* Prints the all value.
*
*
@param
c the c
*/
public
void
printAllValue(
char
c)
{
byte
b
=
(
byte
) c;
int
i
=
(
int
) c;
short
s
=
(
short
) c;
String binaryString
=
Integer.toBinaryString(i);
String hexString
=
Integer.toHexString(i);
StringBuffer output
=
new
StringBuffer();
//
Base value
output.append(
"
Character :
"
).append(c).append(
"
\n
"
);
output.append(
"
byte value :
"
).append(b).append(
"
\n
"
);
output.append(
"
int value :
"
).append(i).append(
"
\n
"
);
output.append(
"
short value :
"
).append(s).append(
"
\n
"
);
//
Hex value and binary value
output.append(
"
hex value :
"
).append(hexString).append(
"
\n
"
);
output.append(
"
binary value :
"
).append(binaryString).append(
"
\n
"
);
//
Unicode value in java file & web page with decimal encoding
output.append(
"
unicode value (Base 10):
"
);
output.append(
"
\\u
"
).append(i).append(
"
;
"
).append(
"
\n
"
);
output.append(
"
unicode value (Base 10 in web page):
"
);
output.append(
"
"
).append(i).append(
"
;
"
).append(
"
\n
"
);
//
Unicode value in java file & web page with hexadecimal encoding
output.append(
"
unicode value (Base 16):
"
);
output.append(
"
\\u
"
).append(hexString).append(
"
;
"
).append(
"
\n
"
);
output.append(
"
unicode value (Base 16 in web page):
"
);
output.append(
"
"
).append(hexString).append(
"
;
"
).append(
"
\n
"
);
System.out.println(output.toString());
}
}
最終的測試結(jié)果如下:
Original String : 中文
Convert string to bytes array :
byte
[
0
]
=
-
42
byte
[
1
]
=
-
48
byte
[
2
]
=
-
50
byte
[
3
]
=
-
60
Start to convert by character:
Character : 中
byte value :
45
int value :
20013
short value :
20013
hex value :4e2d
binary value :
100111000101101
unicode value (Base
10
):
\u20013
;
unicode value (Base
10
in web page):
20013
;
unicode value (Base
16
):
\u4e2d
;
unicode value (Base
16
in web page):
e2d
;
Character : 文
byte value : -
121
int value :
25991
short value :
25991
hex value :
6587
binary value :
110010110000111
unicode value (Base
10
): \u25991
;
unicode value (Base
10
in web page):
25991
;
unicode value (Base
16
): \u6587
;
unicode value (Base
16
in web page):
6587
;
可以看到在Java中,字符的unicode有兩種表示顯示:一種是10進(jìn)制形式,一種是16進(jìn)制形式。它們可以分別通過:int i = (int)(string.charAt(i))和Integer.toHexString(i);獲得。而且在java文件和Web頁面,同一個unicode的表示形式是不同。web頁面需要用進(jìn)行轉(zhuǎn)義,在java文件中則使用\u進(jìn)行轉(zhuǎn)義。
-------------------------------------------------------------
生活就像打牌,不是要抓一手好牌,而是要盡力打好一手爛牌。
posted on 2010-02-23 16:48
Paul Lin
閱讀(2126)
評論(2)
編輯
收藏
所屬分類:
J2SE
FeedBack:
#
re: 【Java基礎(chǔ)專題】編碼與亂碼(06)---字符的各種值轉(zhuǎn)換
2010-02-24 05:23 |
tbw
學(xué)習(xí)了。。。。
回復(fù)
更多評論
#
re: 【Java基礎(chǔ)專題】編碼與亂碼(06)---字符的各種值轉(zhuǎn)換
2010-02-24 14:22 |
咖啡妝
期望更深入的講解
回復(fù)
更多評論
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關(guān)文章:
【Java基礎(chǔ)專題】IO與文件讀寫---優(yōu)化搜索程序(01)
【Java基礎(chǔ)專題】IO與文件讀寫---DirectoryWalker和FileFilter的復(fù)雜條件使用
【Java基礎(chǔ)專題】IO與文件讀寫---使用DirectoryWalker和FileFilterUtils進(jìn)行搜索
【Java基礎(chǔ)專題】IO與文件讀寫---慎用FileUtils.writeLines(File, Collection)方法
TSS上關(guān)于JDBC操作優(yōu)化的Tips總結(jié)
【Java基礎(chǔ)專題】IO與文件讀寫---對同步/異步和阻塞/非阻塞的理解
【Java基礎(chǔ)專題】IO與文件讀寫---同步/異步與阻塞/非阻塞的區(qū)別(轉(zhuǎn))
【Java基礎(chǔ)專題】IO與文件讀寫---使用Apache commons IO包進(jìn)行資源遍歷
【Java基礎(chǔ)專題】IO與文件讀寫---使用Apache commons IO過濾文件和目錄
【Java基礎(chǔ)專題】IO與文件讀寫---使用Apache commons IO操縱底層讀寫
Copyright ©2025 Paul Lin Powered by:
博客園
模板提供:
滬江博客
<
2010年2月
>
日
一
二
三
四
五
六
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
1
2
3
4
5
6
7
8
9
10
11
12
13
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(21)
給我留言
查看公開留言
查看私人留言
隨筆分類
J2EE 框架(9)
J2EE基礎(chǔ)(4)
J2SE(43)
Java 工具(5)
Oracle Concept(4)
Oracle SQL/PLSQL(9)
Oracle 開發(fā)(13)
Oracle 管理(4)
Oracle 調(diào)優(yōu)
Oracle 錯誤診斷
RoR(19)
UML(3)
Unix / Linux(13)
Web基礎(chǔ)(19)
其它技術(shù)(7)
感悟(3)
雜項(xiàng)(7)
架構(gòu)與性能(8)
模式與重構(gòu)(19)
灌水(8)
電影與音樂(16)
走過的路(1)
軟件過程與軟件方法(3)
陽光戶外(2)
項(xiàng)目管理(36)
隨筆檔案
2012年2月 (3)
2011年11月 (4)
2011年10月 (1)
2011年9月 (2)
2011年8月 (2)
2011年7月 (5)
2011年6月 (3)
2011年5月 (1)
2011年4月 (1)
2011年3月 (3)
2011年1月 (1)
2010年12月 (1)
2010年11月 (5)
2010年10月 (3)
2010年9月 (1)
2010年7月 (1)
2010年6月 (1)
2010年5月 (4)
2010年4月 (9)
2010年3月 (19)
2010年2月 (8)
2010年1月 (3)
2009年12月 (34)
2009年11月 (1)
2009年10月 (2)
2009年7月 (4)
2009年6月 (5)
2009年5月 (3)
2009年4月 (2)
2009年3月 (1)
2009年2月 (5)
2009年1月 (5)
2008年12月 (13)
2008年11月 (4)
2008年10月 (1)
2008年9月 (6)
2008年8月 (5)
2008年7月 (3)
2008年6月 (31)
2008年5月 (10)
2008年4月 (9)
2008年3月 (7)
2008年2月 (4)
2008年1月 (19)
BlogJava熱點(diǎn)博客
BeanSoft
Jack.Wang
如坐春風(fēng)
詩特林
鄭暉
銀河使者
阿密果
隔葉黃鶯
好友博客
無羽蒼鷹
搜索
最新評論
1.?re: 【Java基礎(chǔ)專題】編碼與亂碼(01)---編碼基礎(chǔ)[未登錄]
666666666666666666666這幾天正在做個類似工程編碼出現(xiàn)錯誤
--李
2.?re: 【Java基礎(chǔ)專題】IO與文件讀寫---使用Apache commons IO簡化文件讀寫
不錯
--阿斯蘭
3.?re: 【Java基礎(chǔ)專題】編碼與亂碼(03)----String的toCharArray()方法
多謝分享
--thx
4.?re: 【Java基礎(chǔ)專題】編碼與亂碼(05)---GBK與UTF-8之間的轉(zhuǎn)換
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--karl
5.?re: 【Java基礎(chǔ)專題】編碼與亂碼(01)---編碼基礎(chǔ)[未登錄]
謝謝,幫了我大忙!
--小龍
閱讀排行榜
1.?Oracle中如何插入特殊字符:& 和 ' (多種解決方案)(48446)
2.?getOutputStream() has already been called for this response的解決方法(43350)
3.?【Java基礎(chǔ)專題】編碼與亂碼(05)---GBK與UTF-8之間的轉(zhuǎn)換(37031)
4.?360安全衛(wèi)士誤刪audiosrv.dll文件造成系統(tǒng)無聲的解決方案(21267)
5.?Java中讀取字節(jié)流并按指定編碼轉(zhuǎn)換成字符串的方法(17318)
評論排行榜
1.?360安全衛(wèi)士誤刪audiosrv.dll文件造成系統(tǒng)無聲的解決方案(33)
2.?【原】Oracle開發(fā)專題之:時間運(yùn)算(11)
3.?【Java基礎(chǔ)專題】編碼與亂碼(05)---GBK與UTF-8之間的轉(zhuǎn)換(11)
4.?getOutputStream() has already been called for this response的解決方法(10)
5.?【原】Oracle開發(fā)專題之:分析函數(shù)(OVER)(8)
主站蜘蛛池模板:
亚洲同性男gay网站在线观看
|
亚洲伊人久久大香线蕉综合图片
|
久久精品国产亚洲AV高清热
|
成人黄网站片免费视频
|
亚洲人成影院在线观看
|
1000部拍拍拍18勿入免费凤凰福利
|
亚洲精品午夜无码专区
|
三年片免费观看大全国语
|
亚洲精品无码国产
|
国产羞羞的视频在线观看免费
|
亚洲国产精品SSS在线观看AV
|
精品免费tv久久久久久久
|
亚洲一区综合在线播放
|
青草草色A免费观看在线
|
亚洲入口无毒网址你懂的
|
在线免费一区二区
|
免费毛片毛片网址
|
亚洲乱色熟女一区二区三区丝袜
|
国产免费AV片在线观看
|
亚洲av日韩av无码黑人
|
色老头永久免费网站
|
亚洲精品无播放器在线播放
|
国产做床爱无遮挡免费视频
|
久久精品成人免费国产片小草
|
亚洲伦理一区二区
|
精品熟女少妇AV免费观看
|
黄网站在线播放视频免费观看
|
亚洲精品成人网站在线观看
|
中文免费观看视频网站
|
亚洲国产成人AV网站
|
日韩亚洲一区二区三区
|
在线视频观看免费视频18
|
成人嫩草影院免费观看
|
亚洲人成网站影音先锋播放
|
天天干在线免费视频
|
中国一级特黄高清免费的大片中国一级黄色片
|
亚洲w码欧洲s码免费
|
最新久久免费视频
|
亚洲综合校园春色
|
国产亚洲美女精品久久久2020
|
亚洲免费视频播放
|