希望这不是一个太蠢的问题,我在谷歌搜索了5页但还是没有找到任何相关内容。
我需要做的是将一个包含所有十六进制字符的字符串转换为ASCII码,例如
String fileName =
75546f7272656e745c436f6d706c657465645c6e667375635f6f73745f62795f6d757374616e675c50656e64756c756d2d392c303030204d696c65732e6d7033006d7033006d7033004472756d202620426173730050656e64756c756d00496e2053696c69636f00496e2053696c69636f2a3b2a0050656e64756c756d0050656e64756c756d496e2053696c69636f303038004472756d2026204261737350656e64756c756d496e2053696c69636f30303800392c303030204d696c6573203c4d757374616e673e50656e64756c756d496e2053696c69636f3030380050656e64756c756d50656e64756c756d496e2053696c69636f303038004d50330000
我看到的所有方法都好像需要先将它们放入一个数组中。有没有办法循环遍历每两个值并进行转换?
StringBuilder
以容纳所有内容,甚至只使用char[]
。当然,这仅在经常运行时才相关。 - entonionew String(BaseEncoding.base16().lowerCase().decode(hex), Charsets.US_ASCII)
- BaseEncoding实例可以缓存,因为它是不可变的。 - Matt