簡體   English   中英

如何在Java中將大整數轉換為Ascii字符串?

[英]how to convert a large integer to Ascii character string in java?

我已經看到許多將字符串轉換為ascii的方法。 例如

"Nkn" = 78 + 107 + 110 = 78107110

但是有一種方法可以輕松地將78107110轉換回"Nkn" (因為每個字符的ASCII碼的長度可以在1到3之間變化)

但是有一種方法可以輕松地將78107110轉換回“ Nkn”(因為每個字符的ASCII碼的長度可以在1到3之間變化)

如果單詞不需要含義, 則為NO

您可以實現一個嘗試執行此功能的函數,在這種情況下,它應該可以正常工作:

78107110 = "NkN"
78 = "N" because 781 is not valid ascii character
107 = "k" because 10 is LF special character
110 = "n" because 11 is VT special character

但是在很多情況下不可能知道結果,並且如果字符串不是可以與(例如)字典進行比較的單詞,您將不會知道結果是正確的。

解決方法:

但這是編程,我們始終有一個計划。如果您想做的是一個完整的功能來轉換/還原,例如,您可以填充字符,然后得到相反的結果:

"Nkn" = 078 + 107 + 110 = 078107110

還原:

078107110 = 078 + 107 + 110 = "Nkn"

如何將數字填充為3個字符,如果大小較小則以0填充?

 String numberPadded = String.format("%03d", yournumber);

簡單的回答:不。 沒有確定的方法將此字符串拆分為字節長值。 任何格式都必須提供一種方法來確定如何解釋文本。 這可以通過使用固定偏移量或使用標記等來完成。

在您的情況下,有幾種簡單的解決方法:

  • 請使用固定長度的值,並從0s開始填充:
    例如:3270128和32,70,128變成032070128,並且可以以不同的方式拆分。
  • 使用十六進制代替十進制表示。 這樣,每個字節/字符由2位數字表示,並且可以以不同的方式恢復。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM