乱码大全(三)

Ubuntu中文字幕乱码亚洲影视的乱码问题 Ubuntu看电影总是加载中文字幕的时候出现乱码,后来发现是亚洲影视字符编码的问题,今天休假在家就写了一个小的中文字幕乱码字符转码的程序,目前来说满足我自己的需求了,代码如下: import sys,io if len(sys.argv) != 2: print "Please input file path!" else: f1 = io.open(sys.argv[1], "r", encoding="cp936") f2 = io.open(sys.argv[1] + ".new", "w", enc 阅读详情
AI摘要

本文介绍了Base64编码,它是MIME标准下在互联网应用广泛的编码,常用于电子邮件。阐述了其算法原理,即将字符流放入24位缓冲区截断为4个6位部分,用特定64个字符表示。还给出了Base64编码和解码的C语言代码描述。

 

Base64

    Base64和下面将要介绍的Quoted-Printable都属于MIME(多部分( multi-part)、多媒体电子邮件和 WWW 超文本的一种编码标准,用于传送诸如图形、声音和传真等非文本数据)。MIME定义在RFC1341中。

    Base64是现今在互联网上应用最多的一种编码,几乎所有的电子邮件软件头把它作为默认的二进制编码,它已经成了现今电子邮件编码的代名词。

    下面是Base64的一个例子,从例子中,您也可以看到Base64与电子邮件的的紧密联系:

Content-Type: text/plain;charset="cn-gb"

Content-Transfer-Encoding: BASE64

 

CQkJICAgIKG2wtLC68vjt6i088irobcNCgnX99XfOm1vZ2Fvo6yw19TGu8a619W+o6h0ZWxuZXQ6

Ly8yMDIuMTEyLjIwLjEzMjoyM6Ops8nUsaGjDQoJICAgICAgxKq438jtvP65pNf3ytKjumh0dHA6

Ly9tb2dhby5iZW50aXVuLm5ldA0KCQkJRW1haWx0bzptb2dhb0AzNzEubmV0DQoJICAgKioqKioq

KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqICAgICAgICAgICAgICAgDQoJ

ICAgKiCz/cHLvMfS5Mqyw7S2vLK7tPjX36Oss/3By9fjvKPKssO0tryyu8H0z8IqDQoJICAgKioq

KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq

 

    你可以把它单独存成一个文件,可以取名为:mogao.eml,双击可以用OutLook打开(前两行为邮件的原始信息,从第四行开始为编码内容)。

    Base64的算法同Uuencode的算法很接近,也很简单:它将字符流顺序放入一个 24 位的缓冲区,缺字符的地方补零。然后将缓冲区截断成为 4 个部分,高位在先,每个部分 6 位,用下面的64个字符重新表示:“ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/”。如果输入只有一个或两个字节,那么输出将用等号“=”补足。这可以隔断附加的信息造成编码的混乱。它每行一般为76个字符。

    下面我给出Base64的编码和解码的C语言描述:

/*Base64编码*/

void Base64(unsigned char chasc[3],unsigned char chuue[4])

/* 

  chasc:未编码的二进制代码

  chuue:编码过的Base64代码

*/

{

 int i,k=2;

 unsinged char t=NULL;

 for(i=0;i<3;i++)

 {

  *(chuue+i)=*(chasc+i)>>k;

  *(chuue+i)|=t;

  t=*(chasc+i)<<(8-k);

  t>>=2;

  k+=2;

 }

 *(chuue+3)=*(chasc+2)&63;

 

 for(i=0;i<4;i++)

    if((*(chuue+i)>=0)&&(*(chuue+i)<=25)) *(chuue+i)+=65;

    else if((*(chuue+i)>=26)&&(*(chuue+i)<=51)) *(chuue+i)+=71;

    else if((*(chuue+i)>=52)&&(*(chuue+i)<=61)) *(chuue+i)-=4;

    else if(*(chuue+i)==62) *(chuue+i)=43;

    else if(*(chuue+i)==63) *(chuue+i)=47;

 

}

/*Base64解码*/

void unBase64(unsigned char chuue[4],unsigned char chasc[3])

/* 

chuue:未解码的Base64代码

chasc:解码过的二进制代码

*/

{int i,k=2;

 unsigned char t=NULL;

 

 for(i=0;i<4;i++)

     if((*(chuue+i)>=65)&&(*(chuue+i)<=90)) *(chuue+i)-=65;

     else if((*(chuue+i)>=97)&&(*(chuue+i)<=122)) *(chuue+i)-=71;

     else if((*(chuue+i)>=48)&&(*(chuue+i)<=57)) *(chuue+i)+=4;

     else if(*(chuue+i)==43) *(chuue+i)=62;

     else if(*(chuue+i)==47) *(chuue+i)=63;

     else if(*(chuue+i)==61) *(chuue+i)=0;

 

 for(i=0;i<3;i++)

 {*(chhex+i)=*(chuue+i)<<k;

  k+=2;

  t=*(chuue+i+1)>>8-k;

  *(chhex+i)|=t;

 }

}

遇到jsp中文显示乱码的解决方案 前言 正文 总结 阅读详情

相关推荐

扩展A区B区C区D区E区F区字库,txt

包含了扩展A区,扩展B区,扩展C区,扩展D区,扩展E区,扩展F区的所有汉字,共12万汉字。可用于开发输入法,非常有用。

中文乱码

1.客户端,两次encodeURI; encodeURI(encodeURI("中")); 2.服务器端,做解码 String old = httpServletRequest.getParameter("name"); String name1 = URLDecoder.decode(old,"utf-8");

huaguoming的专栏 50万+

CANoe软件之离线报文回放与分析实战

本文详细介绍了如何使用CANoe软件进行离线报文回放与分析,帮助工程师将现场故障数据转化为可反复研究的实验室资源。通过实战步骤,指导如何搭建分析工程、加载DBC文件解码信号,并利用Trace和Graphics窗口进行深度数据筛选与图形化分析,从而高效定位汽车电子故障,是提升诊断效率的关键技能。

weixin_29227585的博客 529

shell 生成多级目录遇到最后一级目录乱码 mkdir -p a/b/c/d

使用shell完成从配置文件中获取路径(字符匹配),在生成多级路径的过程过遇到最后一级目录乱码。 代码如下: mkdir -p $path 这个$path是从配置文件中读取。 如何解决: 1.检查是否是代码本身的问题 2.检查代码的格式utf-8啥之类的 3.检查配置文件的格式,每行结束使用\r,\n是不一样的,如果使用错误会导致乱码!   我的这个问题...

X优快云J2713的博客 3万+

基于 MATLAB 的综合能源系统建模案例 

电平衡约束:P_{gt}(t)+P_{grid}(t)-P_{eb}(t)-P_{load}(t)=0,其中 P_{grid}(t) 为与外部电网的交互功率(正表示购电,负表示售电)。- 电锅炉的热输出功率 Q_{eb} 与输入电功率 P_{eb} 的关系为:Q_{eb}=\eta_{eb}\times P_{eb},其中 \eta_{eb} 为电锅炉的热效率。- 燃气轮机的余热回收功率 Q_{gt} 与发电功率也存在一定关系,例如:Q_{gt}=c\times P_{gt},c 为余热回收比例系数。

qq_57128262的博客 1395

VC Spyglass CDC验证避坑指南:如何正确配置同步复位信号(实验二重点解析)

本文深入解析VC Spyglass CDC验证中同步复位信号的正确配置方法,通过实验二案例详细展示错误配置的典型表现及修正过程。文章提供同步复位的最佳实践方案,包括约束文件修改指南、验证流程优化建议和高级调试技巧,帮助工程师有效避免CDC验证中的常见陷阱。

rock5的博客 678

乱码大全(三) (转)

乱码大全(三) (转)[@more@] Base64XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" /> Base...

congmi8078的博客 5467

华为2024机考真题集合

2.中位数是指把一组数据从小到大排列,最中间的那个数,如果这组数据的个数是奇数,那最中间那个就是中位数,如果这组数据的个数为偶数,那就把中间的两个数之和除以 2,所得的结果就是中位数。在实际考试中会随机抽三道题目进行考察,其中两道100分卷题和一道200分卷题,总共400分。幼儿园组织活动,老师布置了一个任务:每个小朋友去了解与自己同一个小区的小朋友还有几个。3.查找整型数组中元素的众数并组成一个新的数组,求新数组的中位数。1.众数是指一组数据中出现次数量多的那个数,众数可以是多个。

qq_25360769的博客 5093

乱码解决大全

乱码解决大全 原创 ...

weixin_41946274的博客 8万+

反激变压器反射电压详解

我以前做过隔离式的POE模块,其电路实际就是个反激式开关电源。只不过其输入电压范围比较低,为44V-57V。 电路如下图,就是个flyback。 可以看到,电路中有个钳位电路,用来抑制电压尖峰,就在初级线圈那里。 问题 抑制尖峰通常有2种电路,一种叫RCD钳位,另外一种是用TVS管+二极管钳位。 这两种实际中都有用,今天我不想讨论它们的区别,只想说明一个问题: 为什么不能只用一个二极管搞定?像继电器电路那样?不也能抑制尖峰吗? 答案自然是不行的...

weixin_42005993的博客 2万+

9、储备池学习:从学习到学习的新范式

本文探讨了基于学习到学习(L2L)框架的储备池计算新范式,提出通过在外循环中优化储备池的超参数(如递归连接权重、输入权重和读出初始化),以提升其在多种任务中的内循环学习性能。研究展示了两种主要实验设置:一是优化储备池用于回归二阶Volterra滤波器任务,显著优于随机基线;二是实现无需调整读出权重、仅依赖内部动态学习非线性函数的能力,表明储备池可快速构建目标函数的内部模型并安装任务先验知识。结合流程图与表格,文章系统呈现了L2L的训练流程、技术细节及实验结果,并讨论了性能提升、泛化能力等开放问题,指出了未来

ujm56789012的博客 505

各种中文乱码解决大全

控制台中文乱码: 解决方法: -Dfile.encoding=UTF-8

qq1076376640的博客 51万+

【实战圣经】YOLOv8-pose姿态估计模型从训练到RK3588部署:让边缘端骨骼识别速度突破60FPS

本教程从“模型训练-转换-边缘部署”全链路拆解了YOLOv8-pose姿态估计方案在RK3588上的落地过程,每一步都经过实战验证。无论是智能健身的动作实时纠正,还是工业设备的关键部件姿态检测,这套流程都能让你以最低成本实现高精度、高实时性的姿态估计应用。如果你在实践中遇到模型转换报错、部署性能不达标等问题,可聚焦某一环节深入优化——毕竟,让AI在边缘端“精准捕捉每一个关键点”,才是技术驱动场景创新的核心。

m0_71589036的博客 251

jsp乱码解决大全

jsp中文显示乱码解决方案2006-12-27 22:56一、JSP页面显示乱码二、表单提交中文时出现乱码三、数据库连接大家在JSP的开发过程中,经常出现中文乱码的问题,可能一至困扰着您,我现在把我在JSP开发中遇到的中文乱码的问题及解决办法写出来供大家参考。一、JSP页面显示乱码下面的显示页面(display.jsp)就出现乱码:JSP的中文处理out.print("

kt400_hhx的专栏 4462

工作之余的随想:AI 会终结 SAP 顾问吗?

本文是笔者工作之余的一些胡思乱想。昨晚(准确的说是今日凌晨),我又熬了一个夜。没办法,接到一个影响客户项目上线的紧急 incident,花了我好长时间,竟然一点头绪都没有。苦苦思索的过程,时间过得飞快。一转眼就晚上11:30 了。要说我 2007 年还在研三实习期间,就进入了 SAP 行业,到今天已经摸爬滚打 18 年了,按理说也算身经百战了,可以说处理过很多 SAP 客户使用系统时遇到的各种稀奇古怪的问题。但即便这样,我也时常在工作中遇到一开始感到无从下手的问题。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1264

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

乱码大全

<br /> 很久很久以前我转载过的一篇文章,这篇文章很大程度帮助了我。后来曾一度删除,但是发现很不方便,所以还是再次拷贝过来以备查阅。<br /> 发信人: bluesea (蓝海), 信区: Internet<br /> 标 题: 乱码大全(1)──综述(第二版)<br /> 发信站: BBS 水木清华站 (Sun Feb 15 15:54:37 1998)<br /><br /> 乱码大全(1)──综述(第二版)<br /><br /> 本文第一版本于98年2月3日发于本板。这一版本修改了原

23万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

中文乱码解决大全

|字号 订阅 一、Java中文问题的由来  Java的内核和class文件是基于unicode的,这使Java程序具有良好的跨平台性,但也带来了一些中文乱码问题的麻烦。原因主要有两方面,Java和JSP文件本身编译时产生的乱码问题和Java程序于其他媒介交互产生的乱码问题。 首先Java(包括JSP)源文件中很可能包含有中文

WlHelloWorld的专栏 1万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Pycharm乱码解决大全

运行时控制台乱码 在Settings的Editor里点击FileEncoding,在下图中三个位置修改编码一致即可(一般为UTF-8或者GBK)

weixin_42455006的博客 2万+

解决中文乱码问题大全

相信大家在开发过程中遇到很多中文乱码的问题,为此小编在这里汇集了很多不同情况下怎么解决中文乱码,希望对大家有所帮助 1、IDEA控制台输出乱码 修改idea配置文件:找到idea的安装目录,在bin目录下找到dea64.exe.vmoptions和idea.exe.vmoptions这两个文件,分别在这两个文件添加:-Dfile.encoding=UTF-8 依次点击File | Setting...

祖哥的博客 49万+

idea各种中文显示乱码解决大全

中文乱码问题分类: 编码普通中文乱码 properties文件中文乱码 console控制台中文乱码 搜索框中文乱码 svn注释中文乱码 问题截图: 2、properties文件中文乱码 4,、搜索框中文乱码 5、svn注释中文乱码     解决方法: 1、编码普通中文乱码 ①settings --&gt; editor  --&gt; code style ...

liqimo1799的专栏 15万+

中文乱码显示解决方法大全

中文乱码显示解决方法大全 操作日期:2008-11-08早上 操作环境:Ruby1.86、Rails2.1.2、MYSQL5、RadRails0.7.1 文章作者:Gevin QQ:1616569    中文乱码显示问题普遍存在于各种编程语言中,开发J2EE的过程中也经常遇到这类问题,而影响中文显示的原因很多,数据传递的编码不同、开发工具的编码设置和数据库本身的编码问题都可能使得无法正常显示中文。...

技术转文 7762
上一篇: 乱码大全(二)
下一篇: 乱码大全(四)
neil
博客等级 码龄27年 68粉丝 4原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值