别慌!不知道如何处理&#开头的字符串时,需要先了解一下什么是NCR

最近进行接口测试时抓包发现请求响应中有类似下面这些字符

每日

起初试图对这些编码尝试各种decoder操作来一探其真身,遗憾的是均已失败告终(后来发现,这些编码可以在浏览器中正常显示)。最后得知这种奇怪的编码格式并不是编码,而是一种叫做 NCR(Numeric Character Reference) 的标记方法!

什么是NCR

NCR编码通常是指字符的Numeric Character Reference(数值字符引用)编码方式,这是一种在HTML、XML等标记语言中表示特殊字符的方法。当需要在网页中显示某些特殊字符(如版权符号©、商标符号™等),而直接输入这些字符可能会因字符集支持问题导致显示错误时,就可以使用NCR编码来确保正确显示。

NCR编码的基本形式有两种:

  1. Decimal Encoding(十进制编码):格式为&#数字;,其中数字是字符在Unicode编码表中的十进制表示。例如,版权符号©可以用©或者©表示。

  2. Hexadecimal Encoding(十六进制编码):格式为&#x十六进制数;,这里的十六进制数同样对应字符的Unicode码位。例如,商标符号™可以用表示。

使用NCR编码的主要好处在于它能实现字符的跨平台和跨浏览器兼容性显示。

NCR主要优势

以下是NCR编码的一些主要优势:

兼容性:NCR允许网页或文档在不同的字符集和编码环境下正确显示特殊字符。即使目标系统不支持直接使用某些字符,通过其Unicode编码值也能展示这些字符,提高了内容的普遍可读性。

避免乱码:在某些情况下,直接使用特殊字符可能会因为编码不匹配而显示为乱码。使用NCR编码可以规避这种风险,确保内容以预期的形式展现给用户。

网页安全:对于HTML等标记语言,NCR可以帮助避免直接使用特殊字符可能引起的解析错误,保证了网页结构的完整性。

易于输入和存储:对于那些难以直接通过键盘输入的特殊字符,NCR提供了一种简便的输入方式,只需要其Unicode编码值即可。这在编程和数据库存储中特别有用,可以统一和简化处理流程。

控制显示:在某些场景下,开发者可能希望精确控制字符如何显示,比如防止文本被错误解释或者需要明确指定字符的呈现形式,NCR提供了这样的控制手段。

本文介绍了NCR的定义,接下来我会继续讲解,如何通过Java 解析NCR,大家敬请关注!!!

使用Java apache commons包五分钟搞定NCR解析(内附源码)-优快云博客

我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!如果文章帮到了您,劳烦点赞、收藏、转发!您的鼓励是我不断更新文章最大的动力!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

测试开发Kevin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值