js url 转码

本文通过两个示例介绍了如何使用JavaScript进行URI编码与解码操作。首先展示了如何将字符串'我测试'编码为'%E6%88%91%E6%B5%8B%E8%AF%95',然后演示了如何将该编码字符串解码回原始字符串'我测试'。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1.var target = encodeURI('我测试'); //--> target = %E6%88%91%E6%B5%8B%E8%AF%95
2.var afterConvert = decodeURI('%E6%88%91%E6%B5%8B%E8%AF%95'); //--> afterConvert = 我测试
在 Web 开发中,**汉字(中文字符)不能直接出现在 URL 中**,因为 URL 只支持 ASCII 字符集。因此,我们需要对包含中文的 URL 进行**编码(URL Encode)**。 --- ## ✅ 汉字 URL 转码方法 URL 转码的核心是使用 **`URL Encoder`** 对字符串进行编码。常见的编码方式是 **UTF-8 编码 + URL 编码(Percent Encoding)**。 --- ## ✅ 示例:Java 中实现汉字 URL 转码 ### Java 示例代码(使用 `java.net.URLEncoder`): ```java import java.net.URLEncoder; import java.nio.charset.StandardCharsets; public class UrlEncoderExample { public static void main(String[] args) { String original = "你好,世界"; try { // 使用 UTF-8 编码进行 URL 编码 String encoded = URLEncoder.encode(original, StandardCharsets.UTF_8.toString()); System.out.println("Encoded URL: " + encoded); } catch (Exception e) { e.printStackTrace(); } } } ``` ### 输出结果: ``` Encoded URL: %E4%BD%A0%E5%A5%BD%EF%BC%8C%E4%B8%96%E7%95%8C ``` --- ## ✅ 示例:JavaScript 中实现汉字 URL 转码 ### JavaScript 示例代码: ```javascript let original = "你好,世界"; let encoded = encodeURIComponent(original); console.log("Encoded URL: " + encoded); ``` ### 输出结果: ``` Encoded URL: %E4%BD%A0%E5%A5%BD%EF%BC%8C%E4%B8%96%E7%95%8C ``` --- ## ✅ 示例:Python 中实现汉字 URL 转码 ### Python 示例代码: ```python import urllib.parse original = "你好,世界" encoded = urllib.parse.quote(original) print(f"Encoded URL: {encoded}") ``` ### 输出结果: ``` Encoded URL: %E4%BD%A0%E5%A5%BD%EF%BC%8C%E4%B8%96%E7%95%8C ``` --- ## ✅ 示例:Go 中实现汉字 URL 转码 ```go package main import ( "fmt" "net/url" ) func main() { original := "你好,世界" encoded := url.QueryEscape(original) fmt.Println("Encoded URL:", encoded) } ``` ### 输出结果: ``` Encoded URL: %E4%BD%A0%E5%A5%BD%EF%BC%8C%E4%B8%96%E7%95%8C ``` --- ## ✅ 总结 | 编程语言 | 方法 | 示例输出 | |----------|------|----------| | Java | `URLEncoder.encode(str, "UTF-8")` | `%E4%BD%A0%E5%A5%BD%EF%BC%8C%E4%B8%96%E7%95%8C` | | JavaScript | `encodeURIComponent(str)` | `%E4%BD%A0%E5%A5%BD%EF%BC%8C%E4%B8%96%E7%95%8C` | | Python | `urllib.parse.quote(str)` | `%E4%BD%A0%E5%A5%BD%EF%BC%8C%E4%B8%96%E7%95%8C` | | Go | `url.QueryEscape(str)` | `%E4%BD%A0%E5%A5%BD%EF%BC%8C%E4%B8%96%E7%95%8C` | --- ## ✅ URL 编码规则说明 - 所有非 ASCII 字符(如汉字)都会被换为 UTF-8 字节 - 每个字节用 `%` 开头的 16 进制表示 - 例如: - `"你"` → UTF-8 → `E4 B8 AD` → URL 编码 → `%E4%B8%AD` --- ## ✅ 相关问题 ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值