檔案和base64編碼的相互轉換

2021-09-24 19:24:24 字數 2672 閱讀 8295

base64是一種編碼方式,通常用於把二進位制資料編碼為可寫的字元形式的資料。這是一種可逆的編碼方式。它是一種能將任意binary資料用64種字元組合成字串的方法,而這個binary資料和字串資料彼此之間是可以互相轉換的,十分方便。在實際應用上,base64除了能將binary資料視覺化之外,也常用來表示字串加密過後的內容。

(1)檔案轉base64。

/**

* 檔案轉base64字串

* @param file

* @return

*/public static string filetobase64(file file) catch (filenotfoundexception e) catch (ioexception e) finally

} catch (ioexception e)

}return base64;

}

(2)base64轉檔案。

/**

* base64字串轉檔案

* @param base64

* @return

*/public static file base64tofile(string base64)

} catch (ioexception ioe) finally

} catch (ioexception e)

}return file;

}

(3)commonsmultipartfile 檔案轉base64。

/** 

* file轉base64

* @param imgfile 檔案

* @return

*/

public static string getimagebase64one(commonsmultipartfile file)

inputstream in = null;

byte data = null;

diskfileitem fi = (diskfileitem) file.getfileitem();

file file1=fi.getstorelocation();

try catch (ioexception e)

base64encoder encoder = new base64encoder();

string code = encoder.encode(data);

return code;

}

備註:

通過import語句引入類庫中的類:

import org.springframework.core.env.environment;

如何引用這個類:

@autowired

private environment environment;

常量:media_bad_removal:返回getexternalstoragestate

() ,表明sdcard 被解除安裝前己被移除

media_checking:返回getexternalstoragestate

() ,表明物件正在磁碟檢查。

media_mounted:返回getexternalstoragestate

() ,表明物件是否存在並具有讀/寫許可權

media_mounted_read_only:返回getexternalstoragestate

() ,表明物件許可權為唯讀

media_nofs:返回getexternalstoragestate

() ,表明物件為空白或正在使用不受支援的檔案系統。

media_removed:返回getexternalstoragestate

() ,如果不存在 sdcard 返回

media_shared:返回getexternalstoragestate

() ,如果 sdcard 未安裝 ,並通過 usb 大容量儲存共享 返回

media_unmountable:返回getexternalstoragestate

() ,返回 sdcard 不可被安裝 如果 sdcard 是存在但不可以被安裝

media_unmounted:返回getexternalstoragestate

() ,返回 sdcard 已卸掉如果 sdcard 是存在但是沒有被安裝

常用方法:

getdatadirectory

() :返回 file ,獲取 android 資料目錄。

getdownloadcachedirectory

(getexternalstoragedirectory

():返回 file ,獲取外部儲存目錄即 sdcard

getexternalstoragepublicdirectory

(string type) :返回 file ,取乙個高階的公用的外部儲存器目錄來擺放某些型別的檔案

getexternalstoragestate

() :返回 file ,獲取外部儲存裝置的當前狀態

getrootdirectory

() :返回 file ,獲取 android 的根目錄

base64編碼與檔案之間相互轉換

在資料傳輸過程中經常會遇到將檔案轉為base64編碼然後再進行傳輸,接收方接收到編碼資料後,需要進行解碼,獲取到檔案。jdk 1.8 以後,util 包下自帶 base64 相關工具類,直接拿來使用能很快的解決我們的問題。public class base64utils 將檔案base64編碼轉為檔...

base64編碼 動畫演示 Base 64 編碼

base64 是一種十分流行的編碼方式,僅僅使用 64 個字元加等號 就可以以文字的形式表示所有的二進位制資料了,因為它能夠把二進位制格式通過編碼轉換成可見字元,所有我們就可以通過的把二進位制格式比如,檔案等通過 base64 編碼然後通過文字的形式共享出去,是不是很神奇呀。把輸入的資料轉換成 二進...

base64編碼和解碼

base64是一種任意二進位製到文字字串的編碼方法,基於64個可列印字元來表示二進位制資料的方法。簡述base64編碼就是從二進位制到字元的過程。採用base64編碼具有不可讀性,需要解碼後才能閱讀。標準的base64並不適合直接放在url裡傳輸,因為url編碼器會把標準base64中的 和 字元變...