當前位置:首頁 » 文件管理 » 字元串壓縮java

字元串壓縮java

發布時間: 2023-06-01 01:03:19

java如何將很長的字元串存儲壓縮文件

String str = ""; int length = str.length(); List<Integer> index = new ArrayList<Integer>(); for (int i = 0; i < length - 1; i++) { if(str.charAt(i) != str.charAt(i + 1)){ index.add(i); } } if(str.charAt(length - 2) != str.charAt(length - 1)){ index.add(length - 1); } int start = 0; StringBuffer result = new StringBuffer(); for (int i = 0; i < index.size(); i++) { int end = index.get(i) + 1; if(i != 0){ start = index.get(i - 1) + 1; } String temp = str.substring(start, end); result.append(temp.charAt(0)).append(end - start); } System.out.println(result.toString());最終結果是:a6s4c5d7w1s1a3s1d1c1a1s1

⑵ Java 字元串壓縮與解壓

給你提供個思想
首先你這不是物理上的壓縮,也就是說它是一個邏輯上的我們認同上的壓縮。
你需要寫一個演算法來對你所要處理的數據進行統計,然後按照演算法來改變結果。
最後達到一個後台的虛擬壓縮(實際上不是壓縮,只是演算法)。

⑶ 輸入一串小寫字母(a-z)組成的字元串,將連續字母壓縮輸出字元串,用Java實現

Scanner scanner = new Scanner(System.in);

String str = scanner.nextLine();/咐並/dasdascasd
char[] chars = str.toCharArray();
char c = 0;
int j = 1;
for (int i = 0; i < chars.length; i++) {
char b = chars[i];
if (c!=b) {
if (j!=1) {
System.out.print(j);
}
System.out.print(c);
j = 1;/銀鏈/初始化鋒簡孫j
}else{
j = j + 1;
}
c = b;
}
System.out.println(chars[chars.length-1]);
}

⑷ java怎樣壓縮base64編碼的字元串

是生成了base64字元鄭橡串,要壓縮喊芹旁 ? 那可以使用zip輸首友出流去壓縮

~~~~~

⑸ 用Java 編程 如何將 字元串原地壓縮。

對字元做累加,如果遇到相同字元則加1,否則輸出累加的數

⑹ java 實現對字元串進行GSM(7bit)壓縮編碼後HEX 字元串輸出

JAVA有一個public String(byte bytes[], Charset charset)函數可以用指定位元組數組和編碼來構造字元串。一個public byte[] getBytes(Charset charset)函數把字元串按指嘩枯襪定編碼來得到位元組數組。可以用這兩個函數來實現編碼轉換。
下面是一個簡單的例子,注意一下例子中的文字本身的編碼,最好在自己的環境中用gb2312重新輸入,不然可能是亂碼敗雀。當然轉換後輸出肯定有一個是亂碼,也肯能都是亂碼。根據你的編輯器的編碼格式有關。
public class EncodingTest{ public static void main(String[] args) { try { String gb = new String("亂激國標2312".getBytes(),"gb2312"); System.out.println(gb); byte [] b = gb.getBytes("gb2312"); String ios = new String(b,"ISO-8859-1"); System.out.println(ios); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } }}

⑺ java字元串經過bcd壓縮後怎麼傳輸

解決方法:

據我所知,您目前的做法是:

>使用getBytes(「UTF-8」)將String轉換為位元組數組.

>壓縮位元組數組

>使用新的String(位元組,…,「UTF-8」)將壓縮位元組數組轉換為String.

>傳輸壓縮字元串

>接收壓縮字元串

>使用getBytes(「UTF-8」)將壓縮字元串轉換為位元組數組.

>解壓縮位元組數組

>使用新的String(bytes,…,「UTF-8」)將解壓縮的位元組數組轉換為String.

這種方法的問題在於步驟3.壓縮位元組數組時,您創建的位元組序列可能不再是沒汪有效的UTF-8.結果將是步驟3中的例外.

解決方案是使用像Base64這樣的「位元組到字元」編碼方案將壓縮位元組轉換為可傳輸的字元串.換句話說,用調用Base64編碼函數代替步驟3,用調用Base64解碼函數代替步驟6.

筆記:

>對於小弦,壓縮和

編碼很可能實際上

增加傳輸字元串的大小.

>如果要將壓縮的字元串合並到URL中,您可能希望為Base64選擇不同的編碼,以避免兆察緩需要進行URL轉義的字元.

>根據您傳輸的數據的性質,您可能會發現特定於域的壓縮比通用壓縮更好.考慮在創建以逗號分隔的字元串之前壓縮數據.考慮以逗號分隔的字元串的族模替代方法.

⑻ java 字元串加密 加密結果的長度如何壓縮

1. 可以考慮引入字元A~Z,加上0~9,形成36進制(更進一步可以大小寫敏感,加上a~z,形成62進制);
2. 將上述字元串 除以36 取余;作為個位數;上述字元串 除以36 取整,作為結果,重復本步取余計算。
3. 獲得結果。

4. 反向解析,將上述結果,分別按位數 乘以 36 ;
5. 最後合並相加,獲得原字元串。

⑼ Java編寫方法實現字元串壓縮的功能,連續的 n 個字元 x 表示為 xn,例如 aaaa 表示為a4,

packagedemo1;

publicclassDemo2{
publicstaticStringreceString(finalStringstr){
StringBufferresult=newStringBuffer();
finalintcount=str.length();
charc1=str.charAt(0);
intsum=歲沒1;
for(inti=1;i<count;i++){
charc2=str.charAt(i);
if(c1逗雀慧==c2)
{
sum++;
continue;
}
result.append(c1).append(sum);
c1=c2;
sum=1;
}
result.append(sum).append(c1);
returnresult.toString();
}山答
publicstaticvoidmain(String[]args){
System.out.println(receString("aaaaaaaabbbccdddeeebbba"));
}
}

⑽ java,如何將字元串"12345678901212345678"壓縮一下,使輸出結果變短,並能反向解析

1. 可以考慮引入字元A~Z,加上0~9,形成36進制(更進一步可以大小寫敏感,加上a~z,形成62進制);
2. 將上述字元串緩春敗 除以36 取余;作為個位數;上述字元串 除以36 取整,作為結果,重復本步取余計算。
3. 獲得結果。

4. 反向解析,將擾顫上述結果,分別按位數 乘以 36 ;
5. 最後合並相加,獲得原森侍字元串。

熱點內容
和平精英伺服器沒響應什麼情況 發布:2024-06-22 00:24:22 瀏覽:794
我的世界國服電腦版怎麼建伺服器 發布:2024-06-22 00:19:13 瀏覽:365
五月安卓手機怎麼樣 發布:2024-06-22 00:17:44 瀏覽:425
安卓系統如何發超長視頻 發布:2024-06-22 00:12:35 瀏覽:425
一字板編程 發布:2024-06-22 00:00:57 瀏覽:815
郭強買源碼 發布:2024-06-21 23:59:01 瀏覽:274
手機里的帳號和密碼在哪裡 發布:2024-06-21 23:54:02 瀏覽:57
伺服器高頻率點擊會怎麼樣 發布:2024-06-21 23:53:50 瀏覽:152
達林控制演算法 發布:2024-06-21 23:41:05 瀏覽:224
pid程序演算法 發布:2024-06-21 23:19:40 瀏覽:824