相关疑难解决方法(0)

C#:用于解码Quoted-Printable编码的类?

C#中是否存在可以将Quoted-Printable编码转换为String?的现有类?单击上面的链接以获取有关编码的更多信息.

为方便起见,以上链接引用了以下内容.

任何8位字节的值可以与3个字符,被编码的"="随后两个十六进制数字(0-9或A-F)表示的字节的数值.例如,US-ASCII换页符(十进制值12)可以用"= 0C"表示,US-ASCII等号(十进制值61)用"= 3D"表示.除了可打印的ASCII字符或行尾字符之外的所有字符都必须以这种方式编码.

除"="(十进制61)外,所有可打印的ASCII字符(33到126之间的十进制值)可以由它们自己表示.

ASCII选项卡和空格字符,十进制值9和32,可以由它们自己表示,除非这些字符出现在一行的末尾.如果其中一个字符出现在一行的末尾,则必须将其编码为"= 09"(制表符)或"= 20"(空格).

如果正在编码的数据包含有意义的换行符,则必须将它们编码为ASCII CR LF序列,而不是其原始字节值.相反,如果字节值13和10具有除行尾之外的含义,则它们必须被编码为= 0D和= 0A.

引用可打印编码数据的行不得超过76个字符.为了在不改变编码文本的情况下满足该要求,可以根据需要添加软换行符.软换行符在编码行的末尾包含"=",并且不会在解码的文本中导致换行符.

c# string encoding class quoted-printable

26
推荐指数
5
解决办法
3万
查看次数

System.Net.Mail和=?utf-8?B?XXXXX ....标题

我正在尝试使用下面的代码来发送消息System.Net.Mail,有时会得到像'=?utf-8?B?W3AxM25dIEZpbGV...'(修剪过)这样的主题.这是被称为的代码:

MailMessage message = new MailMessage()
{
    From = new MailAddress("someone@somewhere.com", "Service"),
    BodyEncoding = Encoding.UTF8,
    Body = body,
    IsBodyHtml = true,
    ReplyTo = new MailAddress("do.not.reply@somewhere.com"),
    SubjectEncoding = Encoding.UTF8
};

foreach (string emailAddress in addresses)
{
    message.To.Add(new MailAddress(emailAddress.Trim(), "Person"));
}

message.Subject = subject;
Run Code Online (Sandbox Code Playgroud)

我想强调,这不会一直发生.

我究竟做错了什么?

.net c# encoding utf-8 system.net.mail

22
推荐指数
2
解决办法
4万
查看次数

基本的C#Mime解码

是否有一种在C#中处理多部分MIME数据的简洁方法.

在调用已关闭的应用程序(我无权更改它)后,我得到一个类似下面的MIME响应.C#是否提供通过System.Net.Mime或System.Net.Mail解析此功能的能力?

MIME-Version: 1.0
Content-Type: multipart/mixed; 
    boundary="----=_Part_42_31322961.1286389502467"

------=_Part_42_31322961.1286389502467
Content-Type: text/xml
Content-Transfer-Encoding: 7bit
Content-ID: <xmlContextInfo>
<UnneededXML> <Stuff> </Stuff> </UnneededXML>


------=_Part_42_31322961.1286389502467
Content-Type: image/jpeg
Content-Transfer-Encoding: base64
Content-ID: <myImage>

/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a
Run Code Online (Sandbox Code Playgroud)

从响应中我真正需要的是"myImage"部分(比上面显示的要长得多)

.net c# mime

5
推荐指数
1
解决办法
6998
查看次数

将文字不正确编码的字符串(例如"ñ")转换为ISO-8859-1(Latin1)H

在没有详细介绍的情况下,我有一个C#WCF应用程序,它是我调用的基于XML的API的包装器.该API返回一个字符串,它实际上只是一个XML文档.然后我解析该XML,然后返回它.返回的信息在浏览器中显示为JSON.

有点令人困惑,但这里有一些采样代码:

[OperationContract]
[WebInvoke(Method = "GET", BodyStyle = WebMessageBodyStyle.Bare,
    ResponseFormat = WebMessageFormat.Json, UriTemplate = "/TestGetUser")]
TestGetUserResponse TestGetUser();

/* ... */

[DataContract(Namespace = "http://schema.mytestdomain/", Name = "TestGetUser")]
public class TestGetUserResponse
{
    [DataMember]
    public User User { get; set; }
    [DataMember]
    public Error Error { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

TestGetUser存在:

public TestGetUserResponse TestGetUser() {
    WebClient client = getCredentials(); // getCredentials() method is defined elsewhere

    string apiUrl = "http://my.api.url.com/API";
    string apiRequest = "<?xml version='1.0' encoding='utf-8' ?><test>My XML Request Lives Here</test>";

    string …
Run Code Online (Sandbox Code Playgroud)

.net c# encoding

4
推荐指数
1
解决办法
4477
查看次数

如何在 C# 中将 UTF-8 转换为字符串

H,我有从 htm 文件中获得的字符串

String s = "%u05d9%u05e8%u05d5%u05e9%u05dc%u05d9%u05dd"
Run Code Online (Sandbox Code Playgroud)

它是 UTF8 代码值希伯来字符,我想将其转换为真正的字符串,我可以将其写入文件并具有含义(而不仅仅是字符集的代码值)。

我尝试这样做,但它不起作用 -

byte[] bytes = Encoding.UTF8.GetBytes(s);
addr = Encoding.UTF8.GetString(bytes);
Run Code Online (Sandbox Code Playgroud)

c# utf-8

2
推荐指数
1
解决办法
2766
查看次数

标签 统计

c# ×5

.net ×3

encoding ×3

utf-8 ×2

class ×1

mime ×1

quoted-printable ×1

string ×1

system.net.mail ×1