国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

高階JAVA篇-深入了解字符集

這篇具有很好參考價值的文章主要介紹了高階JAVA篇-深入了解字符集。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

??博客主頁:?小扳_-CSDN博客
?感謝大家點(diǎn)贊??收藏?評論?
?

高階JAVA篇-深入了解字符集,html,前端?

高階JAVA篇-深入了解字符集,html,前端

文章目錄

???????1.0 字符集的說明

? ? ? ? 1.1 ASCII? 字符集

? ? ? ? 1.2?GBK 字符集

? ? ? ? 1.3?UTF-8字符集

? ? ? ? 2.0 字符集的編碼與解碼

? ? ? ? 2.1 編碼提供了常見的方法

? ? ? ? 2.2 解碼提供了常見的方法


???????1.0 字符集的說明

????????字符集是一組字符的集合,字符集包括所有可用的字符,包括字母、數(shù)字、標(biāo)點(diǎn)符號、特殊字符和控制字符等。常見的字符集有 ASCII 字符集、UTF-8 字符集、 GBK 字符集等。

? ? ? ? 1.1 ASCII? 字符集

????????它由128個字符組成,包括大寫和小寫字母、數(shù)字、標(biāo)點(diǎn)符號、特殊字符和控制字符等。ASCII 字符集使用7位二進(jìn)制數(shù)表示每個字符,范圍從0到127。

????????只用一個字節(jié)大小的容量來“裝”下這些每一個英文、數(shù)字、符號,需要注意的是首位必須為0。

? ? ? ? 1.2?GBK 字符集

? ? ? ??GBK 字符集廣泛用于中文環(huán)境下的計算機(jī)系統(tǒng)和軟件,包括操作系統(tǒng)、文字處理軟件、網(wǎng)頁等。GBK 字符集是一種中文字符集,是在? ASCII? 字符集基礎(chǔ)上或者兼容的前提下,進(jìn)行擴(kuò)展的。

????????需要重點(diǎn)了解的是,每一個英文和數(shù)字、字符都是可以用一個字節(jié)大小的容量來“裝”下,首位必須為0,對于中文漢字來說,需要每一個字符需要兩個字節(jié)大小的容量來“裝”下這超過21000個漢字和符號,包括繁體字、生僻字和部分其他語種的字符。需要重點(diǎn)注意的是,首位必須為1。

? ? ? ? 1.3?UTF-8字符集

? ? ? ? UTF-8 字符集是一種全球通用的字符編碼標(biāo)準(zhǔn),它包含了幾乎所有已知的字符,涵蓋了世界上所有的語言和符號。UTF-8 字符集的目標(biāo)是為每個字符提供一個唯一的編碼,以便在不同的計算機(jī)系統(tǒng)和軟件中進(jìn)行字符的交換和處理。

????????UTF-8是一種變長編碼方案,使用1到4個字節(jié)來表示不同的字符,適用于在互聯(lián)網(wǎng)上傳輸和存儲文本數(shù)據(jù)。每個中文的漢字、字符等占三個字節(jié),每個英文、數(shù)字、符號等占一個字節(jié),在編碼或者解碼為了區(qū)分這些字符不混淆,就會有一定的規(guī)則。占一個字節(jié)的,首位必須為0;占兩個字節(jié)的,第一個字節(jié)首位三個必須為110,第二個字節(jié)的首位兩個必須為10;占三個字節(jié)的,首位四個必須為1110,第二個字節(jié)首位兩個為10,第三個字節(jié)首位兩個也為10;占四個字節(jié)的,首位五個必須為11110,第二個字節(jié)首位兩個為10,第三個字節(jié)首位兩個也為10,第四個字節(jié)首位兩個也為10。

? ? ? ? 小結(jié)一下:

高階JAVA篇-深入了解字符集,html,前端

? ? ? ? 2.0 字符集的編碼與解碼

????????字符集的編碼和解碼是將字符轉(zhuǎn)換為對應(yīng)的編碼值,或?qū)⒕幋a值轉(zhuǎn)換為對應(yīng)的字符的過程。簡單地來說,編碼就是將字符轉(zhuǎn)變?yōu)榫幪?/span>,這里的編號就是字符集中對應(yīng)的編碼值,而解碼就是逆過程,將編號轉(zhuǎn)變?yōu)樽址?/span>。

? ? ? ? 2.1 編碼提供了常見的方法

? ? ? ? 使用 getBytes() :默認(rèn)系統(tǒng)提供的編碼集。

? ? ? ? 使用?getBytes( String? charsetName) :選擇自己想要的編碼集。

代碼如下:

import java.util.Arrays;

public class characterSet {
    public static void main(String[] args) throws Exception{
        //編碼
        String name = new String("a我b");
        //默認(rèn)系統(tǒng)的提供的字符集進(jìn)行編碼
        byte[] num = name.getBytes();
        System.out.println(Arrays.toString(num));

        //自選的字符集進(jìn)行編碼
        byte[] num1 = name.getBytes("GBK");
        System.out.println(Arrays.toString(num1));
    }
}

運(yùn)行結(jié)果如下:

高階JAVA篇-深入了解字符集,html,前端

? ? ? ? 2.2 解碼提供了常見的方法

? ? ? ? 就是用字符串類的構(gòu)造器,將字節(jié)數(shù)組放到有參構(gòu)造器中,就可以得到了相應(yīng)的字符串了。

? ? ? ? 使用:String pass = new String( byte bytes[]),默認(rèn)系統(tǒng)提供的編碼集。

? ? ? ? 使用:String pass = new String( byte bytes[],?String charsetName),自選編碼集。

代碼如下:

import java.util.Arrays;

public class characterSet {
    public static void main(String[] args) throws Exception{
        //編碼
        String name = new String("a我b");
        //默認(rèn)系統(tǒng)的提供的字符集進(jìn)行編碼
        byte[] num = name.getBytes();
        System.out.println(Arrays.toString(num));

        //自選的字符集進(jìn)行編碼
        byte[] num1 = name.getBytes("GBK");
        System.out.println(Arrays.toString(num1));

        //解碼
        //用系統(tǒng)提供的默認(rèn)字符集
        String pass = new String(num);
        System.out.println(pass);
        //自己選用想要的字符集
        String pass1 = new String(num1,"GBk");
        System.out.println(pass1);
    }
}

運(yùn)行結(jié)果如下:

高階JAVA篇-深入了解字符集,html,前端

? ? ? ? 需要重點(diǎn)注意的是,使用了某一套字符集進(jìn)行編碼,那么必須要使用跟編碼使用的相同的一套字符集進(jìn)行解碼。

代碼如下:

import java.io.UnsupportedEncodingException;

public class characterSet {
    public static void main(String[] args) throws UnsupportedEncodingException {
        String name = "李四";
        //這里使用了 UTF-8 這一套字符集進(jìn)行編碼
        byte[] passName = name.getBytes();
        //如果使用 GBK 這一套字符集進(jìn)行解碼的時候會很很大問題
        String newName = new String(passName,"GBK");
        System.out.println(newName);
    }
}

運(yùn)行結(jié)果:

高階JAVA篇-深入了解字符集,html,前端

? ? ? ? 這里就出現(xiàn)了我不認(rèn)識的字了,總之,編碼與解碼都要使用同一套字符集,不然會出現(xiàn)問題。?

高階JAVA篇-深入了解字符集,html,前端文章來源地址http://www.zghlxwxcb.cn/news/detail-736600.html

到了這里,關(guān)于高階JAVA篇-深入了解字符集的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 華為OD機(jī)試之全量和已占用字符集(Java源碼)

    華為OD機(jī)試之全量和已占用字符集(Java源碼)

    題目描述 給定兩個字符集合,一個是全量字符集,一個是已占用字符集,已占用字符集中的字符不能再使用。 輸入描述 輸入一個字符串 一定包含@,@前為全量字符集 @后的為已占用字符集 已占用字符集中的字符一定是全量字符集中的字符 字符集中的字符跟字符之間使用英文

    2024年02月07日
    瀏覽(21)
  • 【華為OD機(jī)試】全量和已占用字符集(python, java, c++, js)

    前言 :本專欄將持續(xù)更新華為OD機(jī)試題目,并進(jìn)行詳細(xì)的分析與解答,包含完整的代碼實(shí)現(xiàn),希望可以幫助到正在努力的你。關(guān)于OD機(jī)試流程、面經(jīng)、面試指導(dǎo)等,如有任何疑問,歡迎聯(lián)系我,wechat:steven_moda;email:nansun0903@163.com;備注:CSDN。 給定兩個字符集合,一個為全

    2024年02月11日
    瀏覽(21)
  • 【華為OD機(jī)考 統(tǒng)一考試機(jī)試C卷】 全量和已占用字符集 、字符串統(tǒng)計(C++ Java JavaScript Python)

    2023年11月份,華為官方已經(jīng)將 華為OD機(jī)考:OD統(tǒng)一考試(A卷 / B卷)切換到 OD統(tǒng)一考試(C卷)和 OD統(tǒng)一考試(D卷) 。根據(jù)考友反饋:目前抽到的試卷為B卷或C卷/D卷,其中C卷居多 ,按照之前的經(jīng)驗(yàn)C卷部分考題會復(fù)用A卷,B卷題,博主正積極從考過的同學(xué)收集C卷和D卷真題。

    2024年02月05日
    瀏覽(25)
  • MySQL 字符集概念與原理及如何配置字符集 - 超詳細(xì)圖文詳解

    MySQL 字符集概念與原理及如何配置字符集 - 超詳細(xì)圖文詳解

    目錄 一、字符集概念 1、字符(Character) 2、字符編碼 3、字符集(Character set) 二、字符集原理 1、ASCII字符集 2、GB2312 3、GBK 4、GB18030 5、BIG5 6、Unicode 編碼 三、字符序 四、MySQL字符集 字符序 1、mysql 字符集 2、mysql 字符序 3、字符集與字符序的關(guān)系 五、MySQL 數(shù)據(jù)存儲字符集

    2024年02月04日
    瀏覽(26)
  • (二)java.sql.SQLException: 不支持的字符集 (在類路徑中添加 orai18n.jar): ZHS16GBK

    (二)java.sql.SQLException: 不支持的字符集 (在類路徑中添加 orai18n.jar): ZHS16GBK

    不支持的字符集 (在類路徑中添加 orai18n.jar): ZHS16GBK (一)SQL state [99999]; error code [17056]; 不支持的字符集 (在類路徑中添加 orai18n.jar): ZHS16GBK; nested exception (二)java.sql.SQLException: 不支持的字符集 (在類路徑中添加 orai18n.jar): ZHS16GBK java.sql.SQLException: 不支持的字符集 (在類路

    2024年02月09日
    瀏覽(22)
  • 有限字符集的字符串壓縮算法

    在開發(fā)中,經(jīng)常有上報線上堆棧來分析處理線上問題的場景,所以,對堆棧的壓縮和加密也是必不可少的。加密:可以使用AES對稱加密算法,壓縮:可以在上傳時利用protobuf天生的壓縮性對字符串進(jìn)行壓縮。 不過,出于對流量的節(jié)省和傳輸效率的提升,可以通過在堆棧上傳前

    2024年02月11日
    瀏覽(22)
  • 算法加密與解密、字符編碼與字符集

    算法加密與解密、字符編碼與字符集

    加密保證數(shù)據(jù)不會被竊取或者修改 哈希算法 壓縮映射 :散列又稱為哈希,是把任意長度的輸入通過散列算法變換成固定長度的輸出,該輸出就是散列值。 哈希算法(Hash)又稱摘要算法(Digest),哈希算法的目的就是為了驗(yàn)證原始數(shù)據(jù)是否被篡改。 主流的散列算法有MD5和

    2024年02月03日
    瀏覽(26)
  • 字符集詳解

    字符集詳解

    計算機(jī)底層不可以直接存儲字符的。 計算機(jī)中底層只能存儲二進(jìn)制(0、1) 。 二進(jìn)制是可以轉(zhuǎn)換成十進(jìn)制的。 結(jié)論:計算機(jī)底層可以表示成十進(jìn)制編號。計算機(jī)可以給人類字符進(jìn)行編號存儲,這套編號規(guī)則就是字符集。 ASCII(American Standard Code for Information Interchange,美國信息交

    2024年02月07日
    瀏覽(23)
  • oracle 字符集

    ? NLS_NCHAR_CHARACTERSET? 國家字符集 NLS_CHARACTERSET? 字符集 -----字符集和國家字符集的區(qū)別 字符集用來存儲CHAR,VARCHAR2,CLOB,LONG等類型數(shù)據(jù)。 國家字符集用以存儲NCHAR,NVARCHAR2,NCLOB等類型數(shù)據(jù)。

    2024年01月24日
    瀏覽(22)
  • Linux字符集詳解

    Linux字符集詳解

    計算機(jī)中處理和儲存信息都是用二進(jìn)制數(shù)表示的;而我們在屏幕上看到的英文、漢字等字符是二進(jìn)制數(shù)轉(zhuǎn)換之后的結(jié)果。通俗的說,按照某種規(guī)則將字符存儲在計算機(jī)中,如’a’用97表示,稱為\\\"編碼\\\";反之,將計算機(jī)中的二進(jìn)制數(shù)解析顯示出來,稱為\\\"解碼\\\"。在解碼過程中,

    2024年02月06日
    瀏覽(15)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包