我见过很多将字符串转换为ascii的方法。 例如
"Nkn" = 78 + 107 + 110 = 78107110
但有没有办法轻松将78107110
转换回"Nkn"
(因为每个字符的ascii代码的长度可以从1到3不等)
答案 0 :(得分:2)
但有没有办法轻松将78107110转换回" Nkn" (因为每个字符的ascii代码的长度可以从1到3不等)
如果单词不需要含义,否。
你可以实现一个尝试这样做的功能,在这种情况下它应该没有问题:
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
但是有很多案例无法知道结果,如果字符串不是单词,你可以比较(例如)字典,你就不会知道结果是正确的之一。
解决方法:强>
但这是编程,我们总是有一个计划b ...如果您想要做的是一个完整的转换/恢复功能,例如你可以在反向后填充你可以使用的字符:
"Nkn" = 078 + 107 + 110 = 078107110
复归:
078107110 = 078 + 107 + 110 = "Nkn"
如果将数字填充为3个字符并使用0
填写,如果尺寸较小?
String numberPadded = String.format("%03d", yournumber);
答案 1 :(得分:0)
简单回答:不。没有明确的方法将此字符串拆分为字节长值。任何格式都必须提供一种方法来确定如何解释文本。这可以通过使用固定偏移或使用标记等来完成。
在您的情况下,会有几个简单的解决方法: