我工作的那是應該讀取和處理平面文件的應用程序。這些文件並不總是對記錄中的每個字段使用一致的編碼,所以決定我們應該讀/寫字節,並避免將它們轉換爲字符串的必要的解碼/編碼。Java中使用快速的atoi的byte []
然而,許多這些領域的簡單整數,我需要驗證他們(測試它們都是整數,並在一定範圍內)。我需要一個接收一個byte []的函數,並將它變成一個int。我假設所有的數字都是純ASCII。
我知道我可以這樣做,首先將字節[]轉換爲CharBuffer,解碼爲ISO-8859-1或UTF-8,然後調用Integer.parseInt(),但是這看起來像是很多開銷,表現很重要。
所以,基本上我需要的是一個Java等價的atoi的()。我更喜歡API函數(包括第三方API)。此外,該功能應以某種方式報告錯誤。
作爲一個方面說明,我在與代表日期/時間字段相同的問題(這是較爲少見的,雖然)。如果有人能夠提到一些用於Java的快速C類庫,那將會很棒。
你見過THI [SO問題](http://stackoverflow.com/questions/4950598/convert-byte-to-int)? – Grooveek 2012-02-01 08:39:30
我會使用一個直接的ByteBuffer來避免複製到一個byte []。 – 2012-02-01 09:32:44