2014-10-30 50 views
0

首先對不起我的英語! :)十六進制,字符,數字之間的Java轉換

我正在嘗試將包含字符和數字的ASCII文件轉換爲二進制文件!

問題是:如果我在我的ascii文件中使用十六進制字符「B」,它將是42,如果我在我的ASCII文件中使用十六進制數字66,它也將是42!

因此,我怎麼能知道在十六進制值42之間的差異,它是指字母B或數字66?

PS:我在JAVA中工作。

任何幫助將不勝感激! Thx很多

+1

你應該知道你讀的是什麼價值?如果它的十六進制,那麼你應該認爲它是十六進制的,如果它是十進制的,那就把它看作十進制! PS其中一個是六進制,另一個是十進制。 – StackFlowed 2014-10-30 18:34:59

回答

0

正如您所說,它是一個ASCII文件。 ASCII將二進制「東西」映射到一個字符。

正如你爲B中提及正確HEX ASCII代碼爲6 42.

HEX ASCII代碼因此36. 66將導致3636

的字符串B66BB將導致4236364242.兩個每塊(!)十六進制數字表示單個(!)字符。

看到這個翻譯表:http://www.asciitable.com/index/asciifull.gif

編輯:ASCII不知道小數。將66(十進制)轉換爲42(十六進制)是錯誤的。用ASCII表示66是字符6的兩倍,而不是數字。

1

我正在嘗試將包含字符和數字的ascii文件轉換爲二進制文件!

有沒有這樣的事情作爲一個二進制文件。當人們說「二進制文件」時,他們真正在說的是任何文件,您不想在某些文本編輯器中打開該文件。他們正在討論任何文件格式,這不僅僅是自由形式文本的表示。關鍵詞有「格式」。

文件格式是指文件可以表示什麼樣的信息(例如,圖片,聲音,街道地址等)以及它是如何表示的(即,程序如何讀取文件並解碼信息)。

「B」是什麼意思,當它出現在你的ASCII文件? 「66」是什麼意思?那些含義應該如何編碼到你想創建的'二進制'文件中?什麼是讀取這個'二進制'文件?

如果你不能回答這些問題,那麼你現在還沒有任何問題需要解決。

相關問題