欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python中byte字符串轉(zhuǎn)string的實(shí)現(xiàn)

 更新時(shí)間:2023年07月23日 15:57:42   作者:python100  
本文主要介紹了Python中byte字符串轉(zhuǎn)string的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、概述

字符串是編程中最常用的一種數(shù)據(jù)類型。但是,在編程中,我們經(jīng)常會(huì)碰到一些二進(jìn)制數(shù)據(jù),比如圖片、音頻、壓縮文件等。這些數(shù)據(jù)以字節(jié)的形式存在,如果直接以字符串的形式進(jìn)行存儲(chǔ)、傳輸或處理,會(huì)產(chǎn)生很多問題。

byte字符串就是為了解決這些問題而出現(xiàn)的,它將二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為了可讀的字符串形式,方便了程序的處理。

二、轉(zhuǎn)換方式

將byte字符串轉(zhuǎn)換為string有兩種方式,一種是通過編碼的方式進(jìn)行轉(zhuǎn)換,另一種是通過Unicode方式進(jìn)行轉(zhuǎn)換。

1. 編碼方式

編碼方式是一種常用的方式,其本質(zhì)是將byte數(shù)組按照編碼格式進(jìn)行解碼,生成字符串。

byte[] bytes = new byte[]{97, 98, 99};
String str = new String(bytes, "UTF-8");
System.out.println(str); //輸出結(jié)果為:abc

上述代碼中,我們首先定義一個(gè)byte數(shù)組byte[] bytes,其中包含了3個(gè)小寫字母(a、b、c)的ASCII碼。接著,我們將其轉(zhuǎn)換為字符串形式,因?yàn)槲覀冎肋@些ASCII碼對(duì)應(yīng)的字符就是“abc”,所以通過UTF-8編碼方式進(jìn)行解碼后,輸出結(jié)果為“abc”。

2. Unicode方式

Unicode方式是將byte數(shù)組當(dāng)做16進(jìn)制Unicode碼進(jìn)行解碼,生成字符串。

byte[] bytes = new byte[]{97, 98, 99};
String str = new String(bytes, StandardCharsets.UTF_16BE);
System.out.println(str); //輸出結(jié)果為:???

上述代碼中,我們依然使用了byte數(shù)組byte[] bytes,并且還是由3個(gè)小寫字母(a、b、c)的ASCII碼組成。在此基礎(chǔ)上,我們通過StandardCharsets.UTF_16BE編碼方式對(duì)byte數(shù)組進(jìn)行Unicode解碼,然后輸出結(jié)果為“???”??梢钥吹剑@種方式比編碼方式輸出的結(jié)果更加模糊。

三、實(shí)際應(yīng)用

我們可以通過byte字符串的轉(zhuǎn)換實(shí)現(xiàn)編碼格式的轉(zhuǎn)換,比如將ISO-8859-1的編碼格式轉(zhuǎn)換為UTF-8。

String str = "Hello, world!";
byte[] bytes = str.getBytes("ISO-8859-1");
String utf8Str = new String(bytes, "UTF-8");
System.out.println(utf8Str); //輸出結(jié)果為:Hello, world!

上述代碼中,我們首先定義了一個(gè)字符串str,該字符串使用的是ISO-8859-1的編碼格式。接著,我們將其轉(zhuǎn)換成byte數(shù)組,并通過UTF-8編碼方式將其轉(zhuǎn)換為可讀的字符串形式。

四、代碼實(shí)現(xiàn)

下面是通過編碼方式將byte數(shù)組轉(zhuǎn)換為string的代碼:

public static String byteArrayToString(byte[] bytes, String charsetName) throws UnsupportedEncodingException {
    return new String(bytes, charsetName);
}

我們可以通過調(diào)用上述方法來將byte數(shù)組轉(zhuǎn)換為String。

下面是通過Unicode方式將byte數(shù)組轉(zhuǎn)換為string的代碼:

public static String byteArrayToString(byte[] bytes) {
    return new String(bytes, StandardCharsets.UTF_16BE);
}

我們同樣可以通過調(diào)用上述方法來將byte數(shù)組轉(zhuǎn)換為String。

到此這篇關(guān)于Python中byte字符串轉(zhuǎn)string的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Python byte字符串轉(zhuǎn)string內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python re.findall中正則表達(dá)式(.*?)和參數(shù)re.S使用

    Python re.findall中正則表達(dá)式(.*?)和參數(shù)re.S使用

    本文主要介紹了Python re.findall中正則表達(dá)式(.*?)和參數(shù)re.S使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • python求絕對(duì)值的三種方法小結(jié)

    python求絕對(duì)值的三種方法小結(jié)

    今天小編就為大家分享一篇python求絕對(duì)值的三種方法小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • 深入理解python try異常處理機(jī)制

    深入理解python try異常處理機(jī)制

    下面小編就為大家?guī)硪黄钊肜斫鈖ython try異常處理機(jī)制。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-06-06
  • Django1.3添加app提示模塊不存在的解決方法

    Django1.3添加app提示模塊不存在的解決方法

    這篇文章主要介紹了Django1.3添加app提示模塊不存在的解決方法,原因是新版和舊版的APP名稱寫法問題,需要的朋友可以參考下
    2014-08-08
  • Python編程使用Selenium模擬淘寶登錄實(shí)現(xiàn)過程

    Python編程使用Selenium模擬淘寶登錄實(shí)現(xiàn)過程

    這篇文章主要介紹了Python編程使用Selenium模擬淘寶登錄的實(shí)現(xiàn)過程示例及解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2021-10-10
  • python語言實(shí)現(xiàn)貪吃蛇游戲

    python語言實(shí)現(xiàn)貪吃蛇游戲

    這篇文章主要為大家詳細(xì)介紹了python語言實(shí)現(xiàn)貪吃蛇游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • 用python寫一個(gè)windows消息提醒小程序

    用python寫一個(gè)windows消息提醒小程序

    上班時(shí),由于自己經(jīng)常coding到忘記時(shí)間,經(jīng)常會(huì)一坐坐很久,搞的勞資腰都不好了,所以沒事閑的寫了個(gè)久坐提醒的小程序,文中有詳細(xì)的代碼示例,講解的非常詳細(xì),感興趣的朋友可以參考下
    2023-12-12
  • Python入門教程(三十六)Python的文件寫入

    Python入門教程(三十六)Python的文件寫入

    這篇文章主要介紹了Python入門教程(三十六)Python的文件寫入,open()函數(shù)可以打開一個(gè)文件供讀取或?qū)懭?,如果這個(gè)函數(shù)執(zhí)行成功,會(huì)回傳文件對(duì)象,需要的朋友可以參考下
    2023-05-05
  • Python實(shí)現(xiàn)邊緣提取的示例代碼

    Python實(shí)現(xiàn)邊緣提取的示例代碼

    這篇文章主要為大家詳細(xì)介紹了Python計(jì)算機(jī)視覺中如何實(shí)現(xiàn)邊緣提取,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)有一定幫助,需要的可以參考一下
    2022-05-05
  • 利用Python打造一個(gè)多人聊天室的示例詳解

    利用Python打造一個(gè)多人聊天室的示例詳解

    這篇文章主要介紹的是利用Python實(shí)現(xiàn)的一個(gè)簡(jiǎn)易的多人聊天室,文中的示例代碼講解詳細(xì),對(duì)學(xué)習(xí)Python有一定的幫助,感興趣的可以學(xué)習(xí)一下
    2021-12-12

最新評(píng)論