導航:首頁 > 編程語言 > java62進制

java62進制

發布時間:2022-06-10 03:07:35

java如何直接解壓zip格式二進制流

Java代碼
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.util.zip.ZipEntry;
import java.util.zip.ZipInputStream;
import java.util.zip.ZipOutputStream;

class ZipTest {
// 壓縮
public static void zip(String zipFileName, String inputFile)
throws Exception {
File f = new File(inputFile);
ZipOutputStream out = new ZipOutputStream(new FileOutputStream(
zipFileName));
zip(out, f, f.getName());
System.out.println("zip done");
out.close();

㈡ 在java中,如何將utf8 十六進制編碼轉換成漢字

當在基於HTTP協議的JSP或Servlet的應用中獲取數據或發送請求時,JVM會把輸送的數據編碼成UTF8格式。如果我們直接從HTTP流中提取中文數據,提取的結果為「????」(可能更多問號),為轉換成我們能夠理解的中文字元,我們需要把UTF8轉換成GB2312,藉助ISO-8859-1標准編碼能夠輕易的實現,下面的代碼實現了這一功能:

byte [] b;
String utf8_value;
utf8_value = request.getParameter("NAME");//從HTTP流中取"NAME"的UTF8數據
b = utf8_value.getBytes("8859_1"); //中間用ISO-8859-1過渡
String name = new String(b, "GB2312"); //轉換成GB2312字元

在知道流長度的情況下將輸入流轉換成位元組數組 Java中的輸入流抽象類InputStream有int read(byte[] b, int off, int len)方法,參數中byte[] b是用來存放從InputStream中讀取的數據,int off指定數組b的偏移地址,也就是數組b的起始下標,int len指定需要讀取的長度,方法返回實際讀取的位元組數。
下面的代碼實現了這一功能:

ServletInputStream inStream = request.getInputStream(); //取HTTP請求流
int size = request.getContentLength(); //取HTTP請求流長度
byte[] buffer = new byte[size]; //用於緩存每次讀取的數據
byte[] in_b = new byte[size]; //用於存放結果的數組
int count = 0;
int rbyte = 0;
while (count < size) {
//循環讀取
rbyte = inStream.read(buffer); //每次實際讀取長度存於rbyte中
for(int i=0;i<rbyte;i++) {
in_b[count + i] = buffer[i];
}
count += rbyte;
}

在不知道流長度的情況下將輸入流轉換成位元組數組 前面介紹了已知流長度的情況下的轉換方法,那麼當我們不知道流有多長時,也就是說不能確定轉換後的位元組數組有多大時,該怎麼處理呢?筆者查看了JDK文檔之後發現ByteArrayOutputStream有一個byte[] toByteArray()方法,該方法會自動創建一個位元組數組,然後返回。於是就巧妙的用ByteArrayOutputStream來作中間過渡實現轉換,其它處理跟上面所介紹已知長度的情況差不多。假設需要被轉換的流已經放在inStream里了,我們可以用如下的代碼實現這一功能:

ByteArrayOutputStream swapStream = new ByteArrayOutputStream();
byte[] buff = new byte[100]; //buff用於存放循環讀取的臨時數據
int rc = 0;

while ((rc = inStream.read(buff, 0, 100)) > 0) {
swapStream.write(buff, 0, rc);
}
byte[] in_b = swapStream.toByteArray(); //in_b為轉換之後的結果
你試著改寫成自己需要的代碼

㈢ java將兩個字元串轉為十六進制進行異或的結果是多少進制的,怎麼做

小豬,已解答,採納即可

publicclassRectangle
{
publicstaticvoidmain(String[]args)
{
StringS1="0412134FFFFFFFFFF";
StringT1="00007770000200";
longsi=Long.parseLong(S1,16);
longti=Long.parseLong(T1);
longst=si^ti;
//很顯然是十進制0~9
//4693090553043039415
System.out.println(st);
Stringhex=Long.toHexString(st);
//412134fe30df34b7
System.out.println(hex);
}
}

㈣ java十進制轉十六進制 0x格式

運行結果:

publicclassApp62{

publicstaticvoidmain(String[]args){

Strings=String.format("0x%02x%02x%04x",15,1,1);
System.out.println(s);
}
}

㈤ 十進制的12. 12-10+`A`=67.為什麼啊JAVA中

  1. 'A'在ASCII碼中值為65,這里就相當於「12.12-10+65」;

  2. 12. 12 - 10 + `A` = 67.12, 而不是62;

㈥ java中如何解析文件目錄結構類似的數據

20世紀90年代,硬體領域出現了單片式計算機系統,這種價格低廉的系統一出現就立即引起了自
由於C++所具有的優勢,該項目組的研究人員首先考慮採用C++來編寫程序。但對於硬體資源極其匱乏的單片式系統來說,C++程序過於復雜和龐大。另外由於消費電子產品所採用的嵌入式處理器晶元的種類繁雜,如何讓編寫的程序跨平台運行也是個難題。為了解決困難,他們首先著眼於語言的開發,假設了一種結構簡單、符合嵌入式應用需要的硬體平台體系結構並為其制定了相應的規范,其中就定義了這種硬體平台的二進制機器碼指令系統(即後來成為"位元組碼"的指令系統),以待語言開發成功後,能有半導體晶元生產商開發和生產這種硬體平台。對於新語言的設計,Sun公司研發人員並沒有開發一種全新的語言,而是根據嵌入式軟體的要求,對C++進行了改造,去除了留在C++的一些不太實用及影響安全的成分,並結合嵌入式系統的實時性要求,開發了一種稱為Oak的面向對象語言。

1994年6、7月間,在經歷了一場歷時三天的討論之後,團隊決定再一次改變了努力的目標,這次他們決定將該技術應用於萬維網。他們認為隨著Mosaic瀏覽器的到來,網際網路正在向同樣的高度互動的遠景演變,而這一遠景正是他們在有線電視網中看到的。作為原型,帕特里克·諾頓寫了一個小型萬維網瀏覽器WebRunner。

1995年,互聯網的蓬勃發展給了Oak機會。業界為了使死板、單調的靜態網頁能夠"靈活"起來,急需一種軟體技術來開發一種程序,這種程序可以通過網路傳播並且能夠跨平台運行。於是,世界各大IT企業為此紛紛投入了大量的人力、物力和財力。這個時候,Sun公司想起了那個被擱置起來很久的Oak,並且重新審視了那個用軟體編寫的試驗平台,由於它是按照嵌入式系統硬體平台體系結構進行編寫的,所以非常小,特別適用於網路上的傳輸系統,而Oak也是一種精簡的語言,程序非常小,適合在網路上傳輸。Sun公司首先推出了可以嵌入網頁並且可以隨同網頁在網路上傳輸的Applet(Applet是一種將小程序嵌入到網頁中進行執行的技術),並將Oak更名為Java(在申請注冊商標時,發現Oak已經被人使用了,再想了一系列名字之後,最終,使用了提議者在喝一杯Java咖啡時無意提到的Java詞語)。5月23日,Sun公司在Sun world會議上正式發布Java和HotJava瀏覽器。IBM、Apple、DEC、Adobe、HP、Oracle、Netscape和微軟等各大公司都紛紛停止了自己的相關開發項目,競相購買了Java使用許可證,並為自己的產品開發了相應的Java平台。

1996年1月,Sun公司發布了Java的第一個開發工具包(JDK 1.0),這是Java發展歷程中的重要里程碑,標志著Java成為一種獨立的開發工具。9月,約8.3萬個網頁應用了Java技術來製作。10月,Sun公司發布了Java平台的第一個即時(JIT)編譯器。

1997年2月,JDK 1.1面世,在隨後的3周時間里,達到了22萬次的下載量。4月2日,Java One會議召開,參會者逾一萬人,創當時全球同類會議規模之紀錄。9月,Java Developer Connection社區成員超過10萬。

1998年12月8日,第二代Java平台的企業版J2EE發布。1999年6月,Sun公司發布了第二代Java平台(簡稱為Java2)的3個版本:J2ME(Java2 Micro Edition,Java2平台的微型版),應用於移動、無線及有限資源的環境;J2SE(Java 2 Standard Edition,Java 2平台的標准版),應用於桌面環境;J2EE(Java 2Enterprise Edition,Java 2平台的企業版),應用於基於Java的應用伺服器。Java 2平台的發布,是Java發展過程中最重要的一個里程碑,標志著Java的應用開始普及。

1999年4月27日,HotSpot虛擬機發布。HotSpot虛擬機發布時是作為JDK 1.2的附加程序提供的,後來它成為了JDK 1.3及之後所有版本的Sun JDK的默認虛擬機 。

2000年5月,JDK1.3、JDK1.4和J2SE1.3相繼發布,幾周後其獲得了Apple公司Mac OS X的工業標準的支持。2001年9月24日,J2EE1.3發布。2002年2月26日,J2SE1.4發布。自此Java的計算能力有了大幅提升,與J2SE1.3相比,其多了近62%的類和介面。在這些新特性當中,還提供了廣泛的XML支持、安全套接字(Socket)支持(通過SSL與TLS協議)、全新的I/OAPI、正則表達式、日誌與斷言。2004年9月30日,J2SE1.5發布,成為Java語言發展史上的又一里程碑。為了表示該版本的重要性,J2SE 1.5更名為Java SE 5.0(內部版本號1.5.0),代號為"Tiger",Tiger包含了從1996年發布1.0版本以來的最重大的更新,其中包括泛型支持、基本類型的自動裝箱、改進的循環、枚舉類型、格式化I/O及可變參數。

2005年6月,在Java One大會上,Sun公司發布了Java SE 6。此時,Java的各種版本已經更名,已取消其中的數字2,如J2EE更名為JavaEE,J2SE更名為JavaSE,J2ME更名為JavaME。

2006年11月13日,Java技術的發明者Sun公司宣布,將Java技術作為免費軟體對外發布。Sun公司正式發布的有關Java平台標准版的第一批源代碼,以及Java迷你版的可執行源代碼。從2007年3月起,全世界所有的開發人員均可對Java源代碼進行修改 。

2009年,甲骨文公司宣布收購Sun 。2010年,Java編程語言的共同創始人之一詹姆斯·高斯林從Oracle公司辭職。2011年,甲骨文公司舉行了全球性的活動,以慶祝Java7的推出,隨後Java7正式發布。2014年,甲骨文公司發布了Java8正式版 。

㈦ JAVA進(JAVA程序關於八進制和16進制)

只向你講解一下整數部分的轉換規則。至於小數部分,則比較復雜。

先說非十進制轉十進制,比較簡單:
將數從右到左編號,最右邊的編號是0,右邊第二位編號為1,依此類推.
將給定數的各位值乘以進制的編號次方,再得到的結果相加即可.說起來不好理解,舉個例子:

二進制:10101
編號: 43210
計算:1*2^4 + 0*2^3 + 1*2^2 + 0*2^1 + 1*2^0
= 1 * 16 + 0*8 + 1*4 + 1*1 = 21(十進制)

十六進制:0xA9D3
編號:3210
計算:A*16^3 + 9*16^2 + D*16^1 + 3*16^0
=10*4096 + 9*256 + 13*16 + 3 = 43475(十進制)
不信可以用WINDOWS自帶的計算器驗證.(查看->科學型).

====

至於十進制轉非十進制,比較麻煩,要用到 連續除法求余 的計算.

用給定的數除以進制(如8,16,2),將得到商和余數,再將商除以進制,又得到商和余數.一直除到商為0為止.
然後將 所有得到的余數 按照出現的 相反 的順序排列起來,即得到結果.

舉例:
124(十進制)轉二進制,連續除以"2",運算如下:
被除數/進制 = 商……余數
124 /2 = 62……0
62 /2 = 31……0
31 /2 = 15……1
15 /2 = 7……1
7 /2 = 3……1
3 /2 = 1……1
1 / 2 = 0……1
將所有出現的余數從後向前排列,就得到最後結果為:1111100
同樣,將其轉為八進制:
124 /8 = 15……4
15 /8 = 1……7
1 /8 = 0……1
結果即為174(八進制).
同樣可在計算器上試驗一下.

㈧ java中 怎麼把 ascii碼轉換為 十六進制

我剛好寫了


publicstaticStringASCII2HEX(StringASCII2HEX_STRING){

switch(ASCII2HEX_STRING){

case"NUL":
return"00";
case"SOH":
return"01";
case"STX":
return"02";
case"ETX":
return"03";
case"EOT":
return"04";
case"ENQ":
return"05";
case"ACK":
return"06";
case"BEL":
return"07";
case"BS":
return"08";
case"HT":
return"09";
case"LF":
return"0A";
case"VT":
return"0B";
case"FF":
return"0C";
case"CR":
return"0D";
case"SO":
return"0E";
case"SI":
return"0F";
case"DLE":
return"10";
case"DC1":
return"11";
case"DC2":
return"12";
case"DC3":
return"13";
case"DC4":
return"14";
case"NAK":
return"15";
case"SYN":
return"16";
case"ETB":
return"17";
case"CAN":
return"18";
case"EM":
return"19";
case"SUB":
return"1A";
case"ESC":
return"1B";
case"FS":
return"1C";
case"GS":
return"1D";
case"RS":
return"1E";
case"US":
return"1F";
case"SP":
return"20";
case"!":
return"21";
case"\":
return"22";
case"#":
return"23";
case"$":
return"24";
case"%":
return"25";
case"&":
return"26";
case"'":
return"27";
case"(":
return"28";
case")":
return"29";
case"*":
return"2A";
case"+":
return"2B";
case",":
return"2C";
case"_":
return"2D";
case".":
return"2E";
case"/":
return"2F";
case"0":
return"30";
case"1":
return"31";
case"2":
return"32";
case"3":
return"33";
case"4":
return"34";
case"5":
return"35";
case"6":
return"36";
case"7":
return"37";
case"8":
return"38";
case"9":
return"39";
case":":
return"3A";
case";":
return"3B";
case"<":
return"3C";
case"=":
return"3D";
case">":
return"3E";
case"?":
return"3F";
case"@":
return"40";
case"A":
return"41";
case"B":
return"42";
case"C":
return"43";
case"D":
return"44";
case"E":
return"45";
case"F":
return"46";
case"G":
return"47";
case"H":
return"48";
case"I":
return"49";
case"J":
return"4A";
case"K":
return"4B";
case"L":
return"4C";
case"M":
return"4D";
case"N":
return"4E";
case"O":
return"4F";
case"P":
return"50";
case"Q":
return"51";
case"R":
return"52";
case"S":
return"53";
case"T":
return"54";
case"U":
return"55";
case"V":
return"56";
case"W":
return"57";
case"X":
return"58";
case"Y":
return"59";
case"Z":
return"5A";
case"[":
return"5B";
case""":
return"5C";
case"]":
return"5D";
case"↑":
return"5E";
case"←":
return"5F";
case"`":
return"60";
case"a":
return"61";
case"b":
return"62";
case"c":
return"63";
case"d":
return"64";
case"e":
return"65";
case"f":
return"66";
case"g":
return"67";
case"h":
return"68";
case"i":
return"69";
case"j":
return"6A";
case"k":
return"6B";
case"l":
return"6C";
case"m":
return"6D";
case"n":
return"6E";
case"o":
return"6F";
case"p":
return"70";
case"q":
return"71";
case"r":
return"72";
case"s":
return"73";
case"t":
return"74";
case"u":
return"75";
case"v":
return"76";
case"w":
return"77";
case"x":
return"78";
case"y":
return"79";
case"z":
return"7A";
case"{":
return"7B";
case"|":
return"7C";
case"}":
return"7D";
case"~":
return"7E";
case"DEL":
return"7F";
default:
return"";

}
}
閱讀全文

與java62進制相關的資料

熱點內容
網站phpjavascript 瀏覽:453
64位java內存 瀏覽:418
女程序員學習方法 瀏覽:383
工程數學線性代數pdf 瀏覽:681
提升程序員技術檔次的書 瀏覽:691
python詞雲圖txt格式 瀏覽:968
韓國料理pdf 瀏覽:227
什麼app就能知道自己的臉型 瀏覽:383
准了app月卡可以看什麼 瀏覽:140
雲伺服器開機要開30秒 瀏覽:646
php數組傳遞給js 瀏覽:640
在世紀的轉折點上pdf 瀏覽:857
變頻製冷壓縮機性能實驗 瀏覽:575
印刷哪個app好 瀏覽:367
安卓手機如何查看連接過的wifi密碼 瀏覽:461
chrpythonord 瀏覽:353
android切片 瀏覽:231
前端js調用php 瀏覽:591
文件夾res是什麼 瀏覽:488
linuxput命令 瀏覽:932