sunny123456

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  1796 随笔 :: 22 文章 :: 24 评论 :: 226万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

https://www.jb51.net/softs/566800.html

jquery.base64.js是一款编程辅助工具,可以完美解决中文乱码问题。欢迎下载jquery.base64.js修复解决。

jquery.base64.js怎么使用
在用c++在插件里面把带中文的字符串用base64算法加密后推给网页的js去解码,解出来的相信大家预料到了,洋文一字不差,中文就TMD的都是乱码。
google了一下,也没找到能解决问题的方法,没办法只好自己研究了。后来发现问题原因了,编码过程肯定是没有问题的,看到前面加颜色那段字了没,就是我解出来的编码虽然是utf8,但是将中文文字进行Base64编码再解码后,重新排列编码的时候,往往就会出现乱码,UTF8页面的编码实际还是用UTF-16存储的。应该在解码后把UTF8还原为UTF-16格式。这样就能真正搞定javascript解密中文base64编码的问题了。

最近使用jQuery遇到中文乱码问题,其实他的中文乱码就是因为contentType没有指定编码,只需在jQuery.js中搜索
’contentType’
然后在application/x-www-form-urlencoded后面加上
; charset=UTF-8
最终变成
contentType:"application/x-www-form-urlencoded; charset=UTF-8"
问题搞定,我觉得最搞笑的是网上这么多人都在自己的代码里面再进行一次转码,还写了很详细的分析,该如何转,太滑稽了

Base64介绍
Base64是一种基于64个可打印字符来表示二进制数据的表示方法。由于2的6次方等于64,所以每6个位元为一个单元,对应某个可打印字符。三个字节有24个位元,对应于4个Base64单元,即3个字节需要用4个可打印字符来表示。它可用来作为电子邮件的传输编码。在Base64中的可打印字符包括字母A-Z、a-z、数字0-9,这样共有62个字符,此外两个可打印符号在不同的系统中而不同。一些如uuencode的其他编码方法,和之后binhex的版本使用不同的64字符集来代表6个二进制数字,但是它们不叫Base64。Base64常用于在通常处理文本数据的场合,表示、传输、存储一些二进制数据。[转自维基百科]
Base64编码将3个Byte共24Bit从高到低重新拆分成4部分每部分6Bit,分别为0x0——0x3f,对应字符为A——Z和a——z和0-9和+/,共64个。如果最后剩余1个Byte,则将其编码为2个6Bit的Base64编码(第二个Base64编码仅2Bit,需在其后面添加4Bit的0),再在末尾添加2个=字符;如果最后剩余2个Byte,则将其编码为3个6Bit的Base64编码(第三个Base64编码仅4Bit,需在其后面添加2Bit的0),再在末尾添加1个=字符。

posted on   sunny123456  阅读(1482)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示