天天看點

Java 8新特性之Base64

Base64介紹

Base64是網絡上最常見的用于傳輸8Bit位元組碼的編碼方式之一,Base64就是一種基于64個可列印字元來表示二進制資料的方法

// 編碼

final String encoded = Base64.getEncoder().encodeToString( text.getBytes( StandardCharsets.UTF_8 ) );

// 解碼

final String decoded = new String( Base64.getDecoder().decode( encoded ),StandardCharsets.UTF_8 );

什麼情況下需要使用到Base64?

Base64一般用于在HTTP協定下傳輸二進制資料,由于HTTP協定是文本協定,是以在HTTP協定下傳輸二進制資料需要将二進制資料轉換為字元資料。然而直接轉換是不行的。因為網絡傳輸隻能傳輸可列印字元。

什麼是可列印字元?

在ASCII碼中規定,0 ~ 31、127這33個字元屬于控制字元,32~126這95個字元屬于可列印字元,也就是說網絡傳輸隻能傳輸這95個字元,不在這個範圍内的字元無法傳輸。那麼該怎麼才能傳輸其他字元呢?其中一種方式就是使用Base64。

繼續閱讀