社区
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)
...全文
87
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写文章
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());
}
LumiSoft.Net邮件接收乱码问题解决
本文介绍了一种处理邮件中出现的特殊
编码
乱码问题的方法,包括解析=?utf-8?B?和=?gbk?Q?
编码
格式,并提供了
解码
的具体实现代码。
【硬件电源管理】基于PWRBRK信号的紧急功耗控制机制:PCIe设备应急降功耗状态与软件可见性设计
内容概要:本文档为PCI-SIG工程变更通知(ECN),提出了一种通过PWRBRK信号实现的紧急功耗降低机制,旨在标准化PCI Ex
pr
ess扩展卡与系统间的应急功耗控制。该机制利用原保留引脚B30作为PWRBRK#信号引脚,支持系统在紧急情况下快速通知扩展卡进入低功耗状态,以防止硬件损坏。文档详细定义了电气特性、时序要求、配置寄存器字段(如Device Capabilities 2、Device Control 2和Device Status寄存器)以及多设备和虚拟化环境下的行为规范,并补充了SR-IOV环境中虚拟功能(VF)对应急功耗降低状态的支持方式。; 适合人群:从事PCIe硬件设计、固件开发或系统架构的工程师,特别是
web课程设计-学生管理系统项目阐述
web课程设计-学生管理系统项目阐述
openssh 10.4p1-openEuler 24.03.zip
备份ssh配置文件: cp /etc/pam.d/sshd /etc/pam.d/sshdbak cp /etc/ssh/sshd_config /etc/ssh/sshd_configbak 完成安装后: 恢复/etc/pam.d/sshd文件: cat /etc/pam.d/sshdbak > /etc/pam.d/sshd 启动sshd: ******千万不要systemctl restart sshd ****** 而直接用下面的命令start systemctl start sshd 如果启动失败,可以journalctl -n 20 -f -u sshd 查看错误信息
Android蓝牙打印Demo(cpcl指令)
代码下载地址: https://pan.quark.cn/s/a4b39357ea24 在Android系统上达成蓝牙与便携式打印机的连接,通常包含了一系列技术要素和操作流程。名为"Android连接蓝牙打印机(cpcl指令)Demo完整版"的项目提供了一个全面的解决方案,它运用了专门的打印机指令集——CPCL(Control
Pr
ogram for ClearType Language),该指令集主要用于操控打印作业,尤其适用于标签和面单的打印。以下是关于此主题的详尽阐述: 1. **蓝牙传输打印**:Android平台内置了`BluetoothAdapter`类别用于管理蓝牙数据交互。必须确认设备已启用蓝牙功能,随后对邻近的蓝牙设备
进行
探测。`startDiscovery()`函数负责启动搜寻过程,而`getBondedDevices()`能够列出已建立配对的设备。 2. **建立与便携打印机的联系**:当识别出目标打印机后,可借助`BluetoothDevice`类中的`createRfcommSocketToServiceRecord()`函数构建RFCOMM(蓝牙串行端口协议)的通道。一旦连接建立成功,便可通过`connect()`函数与打印机展开信息交流。 3. **CPCL
编码
**:CPCL是一种与ESC/POS类似的页面描述性语言,它用于调控打印机的输出格式、文字样式、条形码等。比如,`^PJL`用于设定页面布局,`^FO`指定输出位置,`^A`设定字体尺寸,`^BC`生成条形码,`^PG`执行分页操作。在Android程序中,需将CPCL
编码
转为文本格式,再经由蓝牙通道传输至打印机。 4. **博思达软件开发工具包**:博思达作为一家著名的打印...
C#
111,129
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章