這樣的測(cè)試方法是不正確的。getBytes(charset)是解碼,new
10多年的烏什網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都全網(wǎng)營(yíng)銷的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整烏什建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“烏什網(wǎng)站設(shè)計(jì)”,“烏什網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
String(byte[],
charset)是編碼。new
String(str.getBytes(charset),charset)是解碼再編碼,無論charset是什么編碼格式,返回的字符串內(nèi)容原始str是一致,因此equals方法都是返回true,達(dá)不到測(cè)試字符串編碼格式的目的。個(gè)人觀點(diǎn):正確的測(cè)試姿勢(shì)應(yīng)該是這樣的:
String charset ="xxx"; //假定編碼格式
String str = "中文";
boolean flag = str.equals(new String(str.getBytes(),charset));flag為true則表明str的編碼格式是假定的編碼格式。其中說明str.getBytes()該方法就是按其自身編碼格式去解碼。其自身編碼格式跟你的操作系統(tǒng)編碼格式或你使用的IDE設(shè)置的文件的Text
file
encoding有關(guān)。
1, Java代碼直接設(shè)置
System.out.println(System.getProperty("file.encoding"));
或
System.out.println(Charset.defaultCharset());
2,eclipse里面選中工程-properties-Resource:text file encoding 改成你的原文件編碼格式即可;
3,一般配置jdbc連接字符串的時(shí)候可以指定字符編碼集,指定成和數(shù)據(jù)庫的編碼一致即可,這樣用jdbc讀出來的數(shù)據(jù)就是解碼后的正常的數(shù)據(jù)。當(dāng)然,不同的數(shù)據(jù)庫產(chǎn)品具體看怎么辦。
文本編碼就是用什么樣的編碼對(duì)你的代碼進(jìn)行編碼,假如你用的記事本,當(dāng)你保存時(shí)你可以看到下面可以選擇編碼,假如你選擇了UTF-8,這時(shí)就用UTF-8對(duì)你的代碼進(jìn)行編碼,下次當(dāng)你用gbk或者其他的編碼進(jìn)行打開(解碼)時(shí)就會(huì)出現(xiàn)亂碼,在eclipse或者myeclipse中,可以再工程上右鍵,選擇Properties,然后可以看到第一個(gè)Resource里面的Inherited from container,或者選擇other可以選擇你代碼的編碼和解碼,先說這么多吧,希望可以幫到你
文章標(biāo)題:怎么看java代碼的編碼 java是什么編碼
URL標(biāo)題:http://jinyejixie.com/article0/dochsoo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站、響應(yīng)式網(wǎng)站、網(wǎng)站策劃、App設(shè)計(jì)、建站公司、域名注冊(cè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)