社区
C#
帖子详情
请问c#如何对quote-printable编码的字符串进行解码?
dwg_cn
2003-08-27 01:45:23
比如下面的一段
test=D7=AA=B7=A2: =CD=CC=D5=E2=CA=C7=D2=BB=B8=F6=D5=E6=CA=B5=B5=C4=B9=CA=CA=C2=A3=A1(=BA=A7=C8=CB=A8=DB=A3=A1)
...全文
45
3
打赏
收藏
请问c#如何对quote-printable编码的字符串进行解码?
比如下面的一段 test=D7=AA=B7=A2: =CD=CC=D5=E2=CA=C7=D2=BB=B8=F6=D5=E6=CA=B5=B5=C4=B9=CA=CA=C2=A3=A1(=BA=A7=C8=CB=A8=DB=A3=A1)
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sbwgi
2004-02-17
打赏
举报
回复
mark
dwg_cn
2003-08-27
打赏
举报
回复
如果可以的话能把编码的部分也放出吗?谢谢了:-)
webxiaobj
2003-08-27
打赏
举报
回复
/// <summary>
/// quoted-printable解码程序.
/// </summary>
/// <param name="encoding">解码目标字符集</param>
/// <param name="data">需要解码的字符串</param>
/// <returns></returns>
public static string QDecode(System.Text.Encoding encoding,string data)
{
MemoryStream strm = new MemoryStream(System.Text.Encoding.Default.GetBytes(data));
int b = strm.ReadByte();
MemoryStream dStrm = new MemoryStream();
while(b > -1){
// Hex eg. =E4
if(b == '='){
byte[] buf = new byte[2];
strm.Read(buf,0,2);
if(!(buf[0] == '\r' && buf[1] == '\n')){
int val = int.Parse(System.Text.Encoding.Default.GetString(buf),System.Globalization.NumberStyles.HexNumber);
//int val = int.Parse(System.Text.Encoding.Default.GetString(buf));
byte[] temp=new Byte[]{(byte)val};
dStrm.Write(temp,0,temp.Length);
}
}
else{
string encodedChar = encoding.GetString(new byte[]{(byte)b});
byte[] d = System.Text.Encoding.Default.GetBytes(encodedChar);
dStrm.Write(d,0,d.Length);
}
b = strm.ReadByte();
}
return encoding.GetString(dStrm.ToArray());
}
Quote
d-
pr
int
able
编码
介绍、
Quote
d-
pr
int
able
编码
解码
转换方法
这个函数首先对
字符串
进行
urlencode转换,然后将所有的“%”字符替换为“=”号。随后,如果出现连续超过73个非换行和非等号的字符,就在后面加上一个“=\r\n”。这个简单的实现方法基本上遵循了
Quote
d-
pr
int
able
编码
...
Quote
d-
Pr
int
able
编码
实现
同Base64一样,它也将输入的
字符串
或数据
编码
成全是ASCII码的可打印
字符串
。
Quote
d-
Pr
int
able
编码
的基本方法是:输入数据在33-60、62-126范围内的,直接输出;其它的需
编码
为“=”加两个字节的HEX码(大写)。为保证...
Quote
d
Pr
int
able
解码
因此在对
Quote
d
Pr
int
able
编码
的内容
进行
解码
时,是逐个字符
进行
转换的,英文的当然不会有任何问题。于是在网上搜了一下,发现基于
C#
的
Quote
d
Pr
int
able
解码
的代码很少,找到的大部分都是转帖,而且大部分都是采用默认...
MIME的
编码
介绍(base64)及使用的意义
一、MIME: Multipurpose
Int
ernet Mail Extensions 英国帝国大学计算机在线字典FOLDOC对MIME的解释为:“多部分(multi-part)、多媒体电子邮件和WWW超文本的一种
编码
标准,用于传送诸如图形、声音和传真等非文本数据...
电子邮件乱码产生的主要原因及几种解决方法
关于电子邮件乱码 ——转摘自中国科学院,作者不详 本文主要介绍邮件乱码产生的主要原因及几种解决方法: E-mail
编码
标准 由于一个汉字是用两
C#
111,093
社区成员
642,554
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章