1. 程式人生 > 實用技巧 >Java8新特性--Base64轉換

Java8新特性--Base64轉換

1、簡介

  在Java8中,Base64編碼已經成為Java類庫的標準。Java 8 內建了 Base64 編碼的編碼器和解碼器。

  Base64工具類提供了一套靜態方法獲取下面三種BASE64編解碼器:

  ·基本:輸出被對映到一組字元A-Za-z0-9+/,編碼不新增任何行標,輸出的解碼僅支援A-Za-z0-9+/。

  ·URL:輸出對映到一組字元A-Za-z0-9+_,輸出是URL和檔案。

  ·MIME:輸出隱射到MIME友好格式。輸出每行不超過76字元,並且使用'\r'並跟隨'\n'作為分割。編碼輸出最後沒有行分割。

2、示例

  publicclass

Java8Tester {

publicstaticvoidmain(String args[]) {       try{           // 使用基本編碼           String base64encodedString = Base64.getEncoder().encodeToString("runoob?java8".getBytes("utf-8"));           System.out.println("Base64 編碼字串 (基本) :"+ base64encodedString);           // 解碼           byte[] base64decodedBytes = Base64.getDecoder().decode(base64encodedString);
          System.out.println("原始字串: "+newString(base64decodedBytes,"utf-8"));           base64encodedString = Base64.getUrlEncoder().encodeToString("TutorialsPoint?java8".getBytes("utf-8"));           System.out.println("Base64 編碼字串 (URL) :"+ base64encodedString);           StringBuilder stringBuilder =
newStringBuilder();           for(inti =0; i <10; ++i) {             stringBuilder.append(UUID.randomUUID().toString());           }           byte[] mimeBytes = stringBuilder.toString().getBytes("utf-8");           String mimeEncodedString = Base64.getMimeEncoder().encodeToString(mimeBytes);           System.out.println("Base64 編碼字串 (MIME) :"+ mimeEncodedString);         }catch(UnsupportedEncodingException e) { System.out.println("Error :"+ e.getMessage());       }     }   } 輸出結果:   Base64 編碼字串 (基本) :cnVub29iP2phdmE4 原始字串: runoob?java8 Base64編碼字串(URL):VHV0b3JpYWxzUG9pbnQ_amF2YTg= Base64編碼字串(MIME):MjY5OGRlYmEtZDU0ZS00MjY0LWE3NmUtNzFiNTYwY2E4YjM1NmFmMDFlNzQtZDE2NC00MDk3LTlh ZjItYzNkNGJjNmQwOWE2OWM0NDJiN2YtOGM4Ny00MjhkLWJkMzgtMGVlZjFkZjkyYjJhZDUwYzk0 ZWMtNDE5ZC00MTliLWEyMTAtZGMyMjVkYjZiOTE3ZTkxMjljMTgtNjJiZC00YTFiLTg3MzAtOTA0 YzdjYjgxYjQ0YTUxOWNkMTAtNjgxZi00YjQ0LWFkZGMtMzk1YzRkZjIwMjcyMzA0MTQzN2ItYzBk My00MmQyLWJiZTUtOGM0MTlmMWIxM2MxYTY4NmNiOGEtNTkxZS00NDk1LThlN2EtM2RjMTZjMWJk ZWQyZTdhNmZiNDgtNjdiYy00ZmFlLThjNTYtMjcyNDNhMTRhZTkyYjNiNWY2MmEtNTZhYS00ZDhk LWEwZDYtY2I5ZTUwNzJhNGE1