返回顶部
首页 > 资讯 > 前端开发 > html >javascript如何实现gbk编码
  • 497
分享到

javascript如何实现gbk编码

2024-04-02 19:04:59 497人浏览 八月长安
摘要

今天小编给大家分享一下javascript如何实现gbk编码的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一

今天小编给大家分享一下javascript如何实现gbk编码的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

javascript实现gbk编码的方法:1、在js建立一个“字符->gbk码”的映射表,通过查表来解决;2、使用escapeDBC和encodeURIComponent进行编码。

javascript如何实现gbk编码

本文操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

javascript 怎么实现gbk编码?

Javascript对中文GBK编码

今天帮同事弄一个在迅雷新闻上展示的页面,里面的搜索功能对关键词用的是GBK编码,而他们给我的页面上GB2312的,造成搜索功能的关键词乱码。后面Google了一下,找到了解决方案,很有效。

以”超级本“这个关键词为例:

GB2312下编码后为%E8%B6%85%E7%BA%A7%E6%9C
GBK下编码后为%B3%AC%BC%B6%B1%BE

在 js 中要怎样实现使用gbk集进行 uri 编码呢

%HH 其实就只是把一个字节值转换成2位16进制数字,再在前头加上 % 而己

问题是 js 中没有函数可以支持取得字符的 gbk 编码值   str.charCodeAt(index)  取得的是 unicode 编码值。

现在在网上流行的一种解决方案就是,在 js 建立一个 “字符->gbk码” 的映射表,通过查表来解决

因为字符多,这使得 js 雍肿了不少,而且在网上找到的这些映射表建的是不是全面,很难说。

其实在 ie 中,我们可以借助 VBScript 来支持这个工作。

VBScript 中: (Asc(“盟”) + 65536) Mod 65536  就可以取得字符 “盟” 的 GBK 码 50123

但是其它浏览器不支持 VBScript ,可怎么办?

有这么一个办法:

在页面中插入一个图片 img,   设置 img.src = “…中文…”;  这个时候,浏览器会自动把这个 src 的值进行 uri 编码

而它是使用 gbk 还是 utf8 ,是根据文档编码来决定的.

这时候,我们就可以好好利用一下这个特性:

<meta Http-equiv="Content-Type" content="text/html; charset=GBK" />
<script type="text/javascript">
function encodeURL(s) {
var img = document.createElement("img");
// escapeDBC 对多字节字符编码的函数
function escapeDBC(s) {
if (!s) return ""
if (window.ActiveXObject) {
// 如果是 ie, 使用 vbscript
execScript(‘SetLocale "zh-cn"’, ‘vbscript’);
return s.replace(/[\d\D]/g, function($0) {
window.vbsval = "";
execScript(‘window.vbsval=Hex(Asc("’ + $0 + ‘"))’, "vbscript");
return "%" + window.vbsval.slice(0,2) + "%" + window.vbsval.slice(-2);
});
}
// 其它浏览器利用浏览器对请求地址自动编码的特性
img.src = "nothing.action?separator=" + s;
return img.src.split("?separator=").pop();
}
// 把 多字节字符 与 单字节字符 分开,分别使用 escapeDBC 和 encodeURIComponent 进行编码
return s.replace(/([^\x00-\xff]+)|([\x00-\xff]+)/g, function($0, $1, $2) {
return escapeDBC($1) + encodeURIComponent($2||”);
});
}
alert(encodeURL("中文"));
</script>

以上就是“javascript如何实现gbk编码”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网html频道。

--结束END--

本文标题: javascript如何实现gbk编码

本文链接: https://lsjlt.com/news/88311.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • javascript如何实现gbk编码
    今天小编给大家分享一下javascript如何实现gbk编码的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一...
    99+
    2024-04-02
  • php如何将utf8转gbk编码
    随着互联网的发展,跨语言交流和国际化成为了越来越普遍的需求。由于不同的编码方式,网站之间的数据传输和处理也变得越来越复杂。在这个过程中,一些老旧的编码方式依然在使用,比如GBK编码。为了兼容各种编码方式,php提供了一些内置函数来进行编码转...
    99+
    2023-05-23
  • php如何设置gbk编码格式
    这篇文章主要介绍“php如何设置gbk编码格式”,在日常操作中,相信很多人在php如何设置gbk编码格式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php如何设置gbk编码格式”的疑惑有所帮助!接下来,请跟...
    99+
    2023-07-05
  • nodejs中如何将编码gbk转为utf8
    本篇内容介绍了“nodejs中如何将编码gbk转为utf8”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!本...
    99+
    2024-04-02
  • JS字符串转GBK编码超精简实现详解
    目录前言遍历查表完善前言 JS 中 GBK 编码转字符串是非常简单的,直接调用 TextDecoder 即可: const gbkBuf = new Uint8A...
    99+
    2022-11-13
    JS字符串转GBK编码 JS字符串转GBK JS 字符串 GBK编码
  • ubuntu下如何设置eclipse支持gbk和gb2312编码
    ubuntu下设置eclipse支持gbk和gb2312编码的方法:1、打开终端;2、输入命令修改ubuntu配置文件 /var/lib/locales/supported.d/local;3、输入命令更新配置;4、修改eclipse配置即...
    99+
    2024-04-02
  • php如何将数据编码从utf-8转为gbk
    这篇文章主要介绍“php如何将数据编码从utf-8转为gbk”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php如何将数据编码从utf-8转为gbk”文章能帮助大家解决问题。在php中,可以利用ic...
    99+
    2023-06-29
  • php中如何进行utf8和gbk编码的转换
    本文小编为大家详细介绍“php中如何进行utf8和gbk编码的转换”,内容详细,步骤清晰,细节处理妥当,希望这篇“php中如何进行utf8和gbk编码的转换”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、UTF...
    99+
    2023-07-06
  • php如何将字节数组转为GBK编码字符串
    本篇内容主要讲解“php如何将字节数组转为GBK编码字符串”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php如何将字节数组转为GBK编码字符串”吧!首先,让我们来看一下 PHP 中处理字节数组...
    99+
    2023-07-06
  • javascript如何实现二维码
    这篇文章主要介绍javascript如何实现二维码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!javascript实现二维码的方法:1、下载qrcodejs插件;2、使用qrcod...
    99+
    2024-04-02
  • Ubuntu中如何实现Eclipse和MyEclipse添加GBK支持并不乱码
    这篇文章主要为大家展示了“Ubuntu中如何实现Eclipse和MyEclipse添加GBK支持并不乱码”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Ubuntu中如何实现Eclipse和MyE...
    99+
    2023-06-13
  • 如何编写JavaScript代码
    这篇文章主要介绍如何编写JavaScript代码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!如果你对于代码,除了关注是否能准确的执行业务逻辑,还关心代码本身是怎么写的,是否易读,那...
    99+
    2024-04-02
  • php如何实现ucs2编码
    小编给大家分享一下php如何实现ucs2编码,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!php实现ucs2编码的方法:1、创建一个PHP示例文件;2、通过“fu...
    99+
    2023-06-22
  • Python如何实现base64编码
    这篇“Python如何实现base64编码”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python如何实现base64编码...
    99+
    2023-06-30
  • C# Unicode编码解码如何实现
    本文小编为大家详细介绍“C# Unicode编码解码如何实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“C# Unicode编码解码如何实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。U...
    99+
    2023-07-02
  • 网站建设中编码转码工具实现utf-8与gbk转换的方法
    这篇文章给大家介绍网站建设中编码转码工具实现utf-8与gbk转换的方法,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。所以最好的方法是直接使用编码转换软件,我用的软件是convertz,貌似这个软件N年前开发出来后就没...
    99+
    2023-06-12
  • JavaScript如何实现代码整洁
    这篇文章主要介绍JavaScript如何实现代码整洁,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!概述一张幽默的图片:软件质量通过你在阅读代码的时候有多少报怨来进行评估Robert ...
    99+
    2024-04-02
  • CSS如何实现编码转换
    这篇文章主要为大家展示了“CSS如何实现编码转换”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“CSS如何实现编码转换”这篇文章吧。一、查看CSS文件编码 &nb...
    99+
    2024-04-02
  • javascript 文本编辑器实现代码
    写一篇1800个字以上的中文文章,标题如下:JavaScript 文本编辑器实现代码JavaScript 是一种广泛应用于 Web 开发中的脚本语言,其最大的优点是可以在不重新加载整个页面的情况下,使得页面上某一部分动态地变化。文本编辑器则...
    99+
    2023-05-17
  • JavaScript如何实现富文本编辑器
    这篇文章主要介绍JavaScript如何实现富文本编辑器,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!前段时间在寻找一些关于富文本编辑器的资料,然后发现了这个名为 Pell 的项目,...
    99+
    2024-04-02
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作