JavaScript 相当于 Java 的 URLEncoder.encode ("String", "UTF-8")

标签 javascript

我想在 JavaScript 中将字符串编码为 UTF-8。在 java 中,我们使用 URLEncoder.encode("String", "UTF-8") 来实现这一点。

我知道我们可以使用 encodeURIencodeURIComponent 但它产生的输出与 URLEncoder.encode 不同

任何人都可以建议任何可用的 JS 方法,可用于实现与 URLEncoder.encode 相同的输出。

注意: 由于限制我无法使用 jQuery。

最佳答案

我不知道这个 javaURLEncode() 函数是否与 Java 的 URLEncoder.encode 方法完全匹配,但它可能与您的结果很接近正在寻找:

function javaURLEncode(str) {
  return encodeURI(str)
    .replace(/%20/g, "+")
    .replace(/!/g, "%21")
    .replace(/'/g, "%27")
    .replace(/\(/g, "%28")
    .replace(/\)/g, "%29")
    .replace(/~/g, "%7E");
}

var testString = "It's ~ (crazy)!";
var jsEscape = escape(testString);
var jsEncodeURI = encodeURI(testString);
var jsEncodeURIComponent = encodeURIComponent(testString);
var javaURLEncoder = javaURLEncode(testString);
alert("Original: " + testString + "\n" +
  "JS escape: " + jsEscape + "\n" +
  "JS encodeURI: " + jsEncodeURI + "\n" +
  "JS encodeURIComponent: " + jsEncodeURIComponent + "\n" +
  "Java URLEncoder.encode: " + javaURLEncoder);

关于JavaScript 相当于 Java 的 URLEncoder.encode ("String", "UTF-8"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26311947/

相关文章:

javascript - Vega Charts 抛出类型定义错误

javascript - 当我点击一个新对象时忘记了之前的点击?

javascript - Krajee Bootstrap 文件输入动态 maxFilecount

javascript - 如何检查我是否有权访问 window.opener?

javascript - AngularJS Protractor - 如何测试 AJAX 登录调用?

php - 有关购物车 HTML 按钮中错误的帮助

javascript - 对象值仅在需要/调用时计算

javascript - highcharts饼图多部分选择

javascript - 将图像置于 div 的中心,文本位于右侧

javascript - jQuery - 同时使用 .slideToggle 和 .animate