文本编码器与解码器 — URL、HTML、Base64编码指南
文本编码将字符从人类可读的形式转换为特定系统或协议所需的专门格式。URL编码将特殊字符替换为百分号编码序列(空格为%20,&为%26),以便它们可以安全地在网址中传输。HTML实体编码将像<和>这样的字符转换为<和>,以便它们在HTML中正确显示而不被解释为标记。Base64编码将二进制数据转换为文本安全的ASCII表示,用于通过基于文本的系统传输。 Web开发人员、内容管理者和数据工程师经常遇到编码需求:构建查询字符串、清理用户输入、处理API响应以及调试字符编码问题。我们的文本编码器在一个界面中支持所有三种主要编码类型,双向处理编码和解码,并即时处理输入,无需任何服务器往返——在开发过程中用于快速转换和验证非常有用。
文本编码转换器
免费 · 无需注册
分步指南
选择您的编码类型
根据您的用例选择URL编码、HTML实体编码或Base64编码:URL编码用于网址和查询参数。HTML编码用于在网页中安全显示用户生成的内容。Base64用于将二进制数据(图像、文件、令牌)表示为ASCII文本,用于JSON API、电子邮件附件或数据URI。
输入文本并编码
在输入字段中键入或粘贴文本。点击"编码"转换为编码格式,或点击"解码"转换回纯文本。结果显示在输出字段中。对于URL编码:空格变为%20,&变为%26,=变为%3D。对于HTML:<变为<,>变为>,"变为"。对于Base64:任何文本变为A-Z、a-z、0-9、+、/字符组成的长字符串。
为查询字符串和表单数据进行URL编码
在构建包含特殊字符的URL、构建API请求查询参数或为POST请求编码表单数据时使用URL编码。示例:URL中对"hello world & friends"的搜索变为"hello+world+%26+friends"或"hello%20world%20%26%20friends",取决于编码约定。我们的工具支持application/x-www-form-urlencoded约定(+表示空格)和标准RFC 3986约定(%20表示空格)。
对用户生成的内容进行HTML编码
HTML编码对于在网页中显示用户提供的文本时的安全性至关重要。没有编码,包含< script >或< img src="x" onerror="恶意代码" >的用户输入可以作为JavaScript执行(XSS攻击)。编码将这些字符转换为其HTML实体,使它们显示为字面字符而不被解释为HTML。在将用户输入插入到应用程序中的HTML上下文之前,始终对其进行HTML编码。
为数据URI和API进行Base64编码
当在JSON响应、CSS数据URI或电子邮件MIME部分中直接嵌入二进制数据(图像、PDF、音频)时,需要Base64编码。对于数据URI示例:在Base64编码的图像数据前加上"data:image/png;base64,",并直接在< img src="...">标签中使用以嵌入图像而无需单独的文件请求。对于API认证,Basic Auth凭证在Authorization头中进行Base64编码(不是加密——只是编码)。
使用技巧与最佳实践
URL编码和URL"组件"编码略有不同——JavaScript中的encodeURIComponent比encodeURI编码更多字符;我们的工具使用完整的组件编码以确保安全。
双重编码错误(对已编码文本进行编码)会产生乱码输出——如果您看到%2520而不是%20,说明您对已编码的值进行了编码。始终从未编码的源文本开始。
HTML特殊字符(&、<、>、"、')在出现在HTML属性值或标签之间时应始终被编码——即使内容看起来安全。
Base64是编码,不是加密——任何人都可以在没有密钥的情况下逆转它。永远不要使用Base64作为敏感数据的安全措施。
URL缩短器和分析URL通常包含Base64编码的跟踪参数——解码它们以了解正在发送什么数据。
JSON字符串原生处理Unicode,但URL内URL编码的JSON需要双重编码——首先编码JSON字符串,然后对结果进行URL编码。
常见问题解答
文本编码是一项基础的Web开发和数据处理技能,可以防止安全漏洞(通过适当的HTML编码防止XSS)、确保URL正确性(查询参数的百分号编码),并实现数据格式兼容性(用于文本中二进制上下文的Base64)。我们的文本编码器在一个工具中处理所有三种主要编码类型——用于开发验证、API调试或日常技术工作中出现的任何编码任务快速便捷。
免费试用此工具 →open_in_new