java文件base64
發布時間: 2024-07-22 18:07:24
❶ java 保存圖片到資料庫時,為什麼要對圖片進行base64編碼
首先這是一種SB做法,圖片保存到資料庫這個很浪費資料庫資源, 通常情況下圖片等文件都是用ftp伺服器來存儲文件的. 為什麼要用base64進行編碼是因為, base64會把文件這個文件轉換成字元串, base64編碼後得到的是一組字元串, 為什麼要用blob類型, 因為這個類型可以存儲4GB數據, 資料庫中普通的 varchar varchar2 text等類型都有長度的限制
❷ 從文件中讀取數據並編碼成base64 java
代碼如下:
importjava.io.FileInputStream;
importjava.io.IOException;
importjava.util.Arrays;
importjava.util.Base64;
importjava.util.Base64.Encoder;
publicclassApp{
publicstaticvoidmain(String[]args)throwsIOException{
Encoderencoder=Base64.getEncoder();
byte[]buffer=newbyte[1024];
intlen=0;
StringBuilderbuilder=newStringBuilder();
try(FileInputStreaminputStream=newFileInputStream("d:\temp\abc.txt")){
while((len=inputStream.read(buffer))!=-1){
byte[]src=Arrays.OfRange(buffer,0,len);
builder.append(encoder.encodeToString(src));
}
}
System.out.println(builder.toString());
}
}
❸ 怎麼用JAVA對一個文件進行base64編碼
JAVA對一個文件進行base64編碼
importsun.misc.BASE64Encoder;
importsun.misc.BASE64Decoder;
//將s進行BASE64編碼
publicstaticStringgetBASE64(Strings){
if(s==null)returnnull;
return(newsun.misc.BASE64Encoder()).encode(s.getBytes());
}
//將BASE64編碼的字元串s進行解碼
(Strings){
if(s==null)returnnull;
BASE64Decoderdecoder=newBASE64Decoder();
try{
byte[]b=decoder.decodeBuffer(s);
returnnewString(b);
}catch(Exceptione){
returnnull;
}
}
❹ java:關於base64編碼求解
首先base64是對位元組碼進行再次編碼,所以要先把你這個字元轉成二進行碼(不過對於英文字母來說,轉成的二進制碼都是一樣的,就沒關系了)。'a'對應的二進制碼為01000001(65),而base64是每6位編成一個字元(base64字元),則把此二進制碼分成2段,第一段是010000,第二段是01(0000不足位補0),這兩個不是一樣的嗎,值為16,對應第17個大寫字母(0對應A),那自然是兩個Q了,而base64編碼至少編出4個字元(因為給3個字元來編碼,一個6位,3個24位,6位一編碼,正好編出4個,反過來自然是4個解碼成3個)。另外這個編碼過程本來就是它的原理,原理圖如下,只要明白了原理才知道倒底怎麼編。
❺ 在Java中如何進行BASE64編碼和解碼
importsun.misc.BASE64Encoder;
importsun.misc.BASE64Decoder;
//將s進行BASE64編碼
publicstaticStringgetBASE64(Strings){
if(s==null)returnnull;
return(newsun.misc.BASE64Encoder()).encode(s.getBytes());
}
//將BASE64編碼的字元串s進行解碼
(Strings){
if(s==null)returnnull;
BASE64Decoderdecoder=newBASE64Decoder();
try{
byte[]b=decoder.decodeBuffer(s);
returnnewString(b);
}catch(Exceptione){
returnnull;
}
}
熱點內容