xstream1.4.14版本升级到1.4.16版本无法解析map对象中key 含#的值。

最近项目对xstream做了升级,升级完发现map中部分带有#号的value,解析不出来了。map.put("ext/test#value","test");

对比了两个版本的jar包。发现com.thoughtworks.xstream.io.xml.XmlFriendlyNameCoder 类中的改动所导致的。想咨询下大佬类中这种写法

XML_NAME_CHARS_4TH.set(48, 58);

XML_NAME_CHARS_5TH.set(768, 880);
XML_NAME_CHARS_5TH.set(8255, 8257);

 

是啥意思?这是屏蔽了哪些字符吗?

您好,我是问答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632

set(48,58)中的48和58是十进制表示的,set方法是把这个区间的设置为true,遍历字符时做条件判断使用的。至于你的解析不出来,可以尝试使用转义符或者ASCII码值代替,看是否能解决。