- 浏览: 534450 次
- 性别:
- 来自: 深圳
文章分类
最新评论
-
gaolegao2008:
如果报 is_volum 列名找不到之类的,我是从新部署了一个 ...
spring quartz 定时器报错 -
gaolegao2008:
部署到linux上时,还有一种情况就是mysql数据库区分大小 ...
spring quartz 定时器报错 -
qq123zhz:
yahier 写道 对我有帮助,但我看的一个demo程序,却没 ...
spring quartz 定时器报错 -
qq123zhz:
这个要在eclipse的插件环境下运行的,你不懂eclipse ...
GEF 自动布局 -
qq123zhz:
这个很久了,不记得啥时候写的了
json转为Map
package com.chinaGPS.driverBook.util; import java.io.ByteArrayOutputStream; /**Qp编码 * @author zhz * */ public class QpEncodeUtil { /** * quoted-printable编码 */ public static String qpEncodeing(String str) { return qpEncodeing(str, "UTF-8"); } /** * quoted-printable解码 * * @param str * @return 无 */ public static String qpDecoding(String str) { return qpDecoding(str, "UTF-8"); } /** * quoted-printable编码 * @param str * @param charsetName * @return */ private static String qpEncodeing(String str, String charsetName) { char[] encode = str.toCharArray(); StringBuffer sb = new StringBuffer(); for (int i = 0; i < encode.length; i++) { if ((encode[i] >= '!') && (encode[i] <= '~') && (encode[i] != '=') && (encode[i] != '\n')) { sb.append(encode[i]); } else if (encode[i] == '=') { sb.append("=3D"); } else if (encode[i] == '\n') { sb.append("/n"); } else { StringBuffer sbother = new StringBuffer(); sbother.append(encode[i]); String ss = sbother.toString(); byte[] buf = null; try { buf = ss.getBytes(charsetName); } catch (Exception e) { e.printStackTrace(); } //UTF-8: buf.length == 3 //GBK: buf.length == 2 if (buf.length == 3 || buf.length == 2) { for (int j = 0; j < buf.length; j++) { String s16 = String.valueOf(Integer.toHexString(buf[j])); // 抽取中文字符16进制字节的后两位,也就是=E8等号后面的两位, // 三个代表一个中文字符 char c16_6; char c16_7; if (s16.charAt(6) >= 97 && s16.charAt(6) <= 122) { c16_6 = (char) (s16.charAt(6) - 32); } else { c16_6 = s16.charAt(6); } if (s16.charAt(7) >= 97 && s16.charAt(7) <= 122) { c16_7 = (char) (s16.charAt(7) - 32); } else { c16_7 = s16.charAt(7); } sb.append("=" + c16_6 + c16_7); } } } } return sb.toString(); } private static String qpDecoding(String str, String charsetName) { if (str == null) { return ""; } try { StringBuffer sb = new StringBuffer(str); for (int i = 0; i < sb.length(); i++) { if (sb.charAt(i) == ' ' && sb.charAt(i - 1) == '=') { // 解码这个地方也要修改一下 // sb.deleteCharAt(i); sb.deleteCharAt(i - 1); } } str = sb.toString(); byte[] bytes = str.getBytes("US-ASCII"); if (bytes == null) { return ""; } for (int i = 0; i < bytes.length; i++) { byte b = bytes[i]; if (b != 95) { bytes[i] = b; } else { bytes[i] = 32; } } ByteArrayOutputStream buffer = new ByteArrayOutputStream(); for (int i = 0; i < bytes.length; i++) { int b = bytes[i]; if (b == '=') { try { int u = Character.digit((char) bytes[++i], 16); int l = Character.digit((char) bytes[++i], 16); if (u == -1 || l == -1) { continue; } buffer.write((char) ((u << 4) + l)); } catch (ArrayIndexOutOfBoundsException e) { e.printStackTrace(); } } else { buffer.write(b); } } return new String(buffer.toByteArray(), charsetName); } catch (Exception e) { e.printStackTrace(); return ""; } } }
发表评论
-
eclipse Resource 资料
2016-11-15 16:51 617IWorkspace/IWorkspaceRoot/IPro ... -
.docker/machine/machines/default/ca.pem: no such file or directory
2016-09-06 15:59 886Was doing adocker-machine env ... -
list.AddAll 去重复
2015-09-11 12:01 5901问题描述: 有List A和B,A、B中元素都是可保证 ... -
eclipse 插件开发 Setting the Java build path
2014-06-04 11:00 1216JDT Plug-in Developer Guide & ... -
xstream 下划线_问题
2013-12-30 10:18 4180最近在使用xtream 1.4.3,出现了如下的问题: ... -
RCP MessageConsole设置显示的最大行数
2013-09-05 11:34 966MessageConsole.setWaterMarks(5 ... -
freemarker 自定义freeMarker标签
2013-08-12 16:09 3886import java.io.IOException; i ... -
xstream javabean设置属性默认值的问题
2013-04-24 09:54 6568在xstream反序列化使用过程中发现,如果xml无该属 ... -
在使用xstream反序列化时遇到的问题
2013-04-24 09:42 1747public abstract class SBase { ... -
RCP 知识点
2013-03-14 15:10 997获得工作区的所有工程: //获得workspace的所有 ... -
RCP FileSystem 文件系统
2013-02-19 10:42 1381public static File toLocalFile ... -
json转为Map
2013-01-19 22:27 32829package digu.pendant.util; ... -
eclipse4.x 去掉quick access
2013-01-11 14:57 4057/** * 去掉quick access * ... -
xstream 的高级用法,自定义输出结构
2012-12-19 14:35 2423public static void main(Stri ... -
jdt 核心知识
2012-11-27 21:39 1277jdt官方核心知识...................... ... -
jdt 创建java工程,生成代码,运行main方法
2012-11-27 10:50 2345public static IJavaProje ... -
两个osgi的例子程序
2012-11-20 10:21 1077osgi的例子....................直接上代 ... -
jfreechart 的官方例子,很全
2012-11-20 10:19 944jfreechart的官方的demon,很全。 -
SWT 隔行换色-自动宽高调整
2012-10-16 17:32 1710** * 创建:ZhengXi 2009-8-4 */ ... -
RCP 为action添加操作进度条
2012-10-16 13:59 1292public class StartAction extend ...
相关推荐
当邮件需要包含非ASCII字符或二进制格式附件时,MIME标准就会使用Quoted-printable编码。 MIME是多用途互联网邮件扩展(Multipurpose Internet Mail Extensions)的缩写,它是一个扩展了传统电子邮件标准的互联网...
在`smtp.tar.gz_quoted-printable`这个压缩包中,很可能包含了实现`quoted-printable`编码功能的源代码或者示例。解压这个文件后,可以查看`smtp`文件来了解具体实现的细节。这可能是一个程序、脚本或者文档,详细...
Quoted_Printable编码是一种在电子邮件和网页中常见的字符编码方式,用于在ASCII字符集中表示非ASCII字符,确保数据在传输过程中不会被误解或丢失。这种编码方式特别适用于7位ASCII字符集不能涵盖的字符,例如某些...
在C#中实现Quoted-Printable编码和解码的功能,对于处理邮件或需要对特定数据进行编码的场景非常有用。 编码(Encoding)是将数据转换为另一种形式的过程,这种形式可以在特定的媒介或系统上存储或传输,而不会丢失...
在提供的"**MIME(Quoted-Printable & Base64) 编码解码程序**"中,很可能包含了实现这两种编码方式的源代码。这样的程序通常包含输入和输出函数,用于将用户输入的文本进行编码或解码。编码函数会接收原始数据,根据...
用途:使用excel编辑联系人,导出vcf文件 ------------------------------------------------------------ ...4、支持备注QUOTED-PRINTABLE编码解码 5、支持项目多值(多个工作电话号码,传真,QQ等)
Quoted_Printable是一种字符编码方式,常用于电子邮件和纯文本文件中,以确保非ASCII字符或可能会引起混乱的特殊字符(如空格、换行符)在传输过程中能正确无误地显示。在易语言中,我们可以编写程序来实现这种编码...
总结来说,这个C#的VCF demo源代码提供了一个处理中文编码的解决方案,通过使用Quoted-Printable编码,确保了在Android、Outlook等平台上的跨平台兼容性。在实际开发中,理解VCF文件格式和Quoted-Printable编码的...
Quoted-Printable编码的基本方法是:输入数据在33-60、62-126范围内的,直接输出;其它的需编码为“=”加两个字节的HEX码(大写)。为保证输出行不超过规定长度,可在行尾加“=\r\n”序列作为软回车。
md5,base64,qp编码解码,非常小巧有用
在易语言中,理解和实现Quoted_Printable编码与解码是提高程序处理文本信息能力的重要一环。 Quoted_Printable 编码的基本原理是将每个8位的字节拆分为7位的ASCII字符,对于那些不能直接作为ASCII字符的字节,通常...
在"常用编码VBA.zip"这个压缩包中,包含了一系列用于处理不同编码方式的VBA宏,如Base64编码、Quoted-Printable编码、URL编码、UTF8编码和Unicode编码。 1. **Base64编码**:Base64是一种用64个字符来表示任意二...
在描述中提到的"适用所有设备导出的VCF文件"表明,这个程序设计得足够灵活,能够处理来自不同来源的VCF文件,尽管VCF标准是统一的,但不同的设备和应用可能会在文件中添加特定的元数据或扩展信息。因此,这个程序...
2. **批量操作**:批量导入和导出vcf功能使得用户可以一次性处理多个文件,这在需要整合大量联系人信息时尤其方便,比如企业进行员工信息迁移或个人整理大量联系人。 3. **乱码处理**:乱码问题通常是由于字符编码...
当用户需要将从三星手机导出的UTF-8格式VCF文件在其他不支持UTF-8的设备上使用时,如旧款手机或某些特定软件,可能就会遇到无法正确显示中文字符的问题。此时,就需要进行编码转换。 "UTF-8_GB2312-Src"提供的工具...
Base64和Quoted-Printable编码是两种常见的数据编码方式,它们被广泛应用于网络通信、电子邮件、文本传输等领域,以确保数据在不同系统间安全、正确地传递。 Base64编码是一种基于64个字符的编码方法,这64个字符...
4、支持备注QUOTED-PRINTABLE编码解码 5、支持项目多值(多个工作电话号码,传真,QQ等) 备注: 1、关于备注项目的换行。 M8中录入带换行的备注,备份后,重新导入,换行丢失,可能是换行符windows,unix格式未转换...
提供关于E-Mail信体的基本编码和解码方法包括 Base64, UUCode, Quoted-Printble编解码速度快 全兼容Outlook Express 部分关键代码说明 全部类静态方法 毋需创建实例即可使用 使用说明 首先使用CMailCoder提供的获取...
功能: 1、vcf格式名片文件批量导入 2、自由编辑(Excel自身功能) 3、批量导出vcf格式文件 4、支持备注QUOTED-PRINTABLE编码解码 5、支持项目多值(多个工作电话号码,传真,QQ等)