草庐IT

c# - 替换 C# 中的字符 (ascii)

我得到了一个包含以下字符的文件:à、è、ì、ò、ù-À。我需要做的是用普通字符替换这些字符,例如:à=a,è=e等等......这是我目前的代码:StreamWritersw=newStreamWriter(@"C:/JoinerOutput.csv");stringpath=@"C:/Joiner.csv";stringline=File.ReadAllText(path);if(line.Contains("à")){stringasAscii=Encoding.ASCII.GetString(Encoding.Convert(Encoding.UTF8,Encoding.GetE

c# - 用于 .NET 的快速且内存高效的 ASCII 字符串类

这可能以前有人问过,但我找不到任何这样的帖子。是否有处理ASCII字符串的类?好处很多:比较应该更快,因为它只是逐字节比较(而不是使用可变编码的UTF-8)内存效率高,在大字符串中应该使用大约一半的内存ToUpper()/ToLower()的更快版本,使用语言不变的查找表JonSkeet写了一个基本的AsciiStringimplementation并证明了#2,但我想知道是否有人更进一步并完成了这样的类(class)。我确信会有用处,尽管通常没有人会采用这样的方法,因为所有现有的String函数都必须手动重新实现。StringAsciiString之间的转换会分散在各处,从而使原本简

c# - 带有长非 ASCII 名称的电子邮件附件

我尝试使用System.Net.Mail.Attachment发送System.Net.Mail.MailMessage。附件名称为“Счёт-договор№4321от4июля.pdf”附件创建代码:varnameEncoding=Encoding.UTF8;returnnewSystem.Net.Mail.Attachment(newMemoryStream(bytes),MessageBodiesHelpers.EncodeAttachmentName(fileName,nameEncoding),attachment.MediaType){TransferEncoding=

c# - 如何将字节数组转换为字符串?

这个问题在这里已经有了答案:HowtoconvertUTF-8byte[]tostring(16个答案)关闭6年前。我有一个字节,它是一个30字节的数组,但是当我使用BitConverter.ToString时它显示十六进制字符串。字节是0x42007200650061006B0069006E00670041007700650073006F006D0065。这也是Unicode格式。这意味着B.r.e.a.k.i.n.g.A.w.e.s.o.m.e,但我不确定如何将它从十六进制转换为Unicode到ASCII。

c# - 如何在 C#.net 中将 EBCDIC 转换为 ASCII

我有一个EBCDIC格式的值“000000{”。我想把它转换成.NetInt32类型。谁能让我知道我能做些什么??所以我的问题是在EBCDIC中给出了一个包含带符号数字的字符串,我应该如何将其转换为.NETInt32。提前致谢! 最佳答案 试试这个#regionpublicstaticbyte[]ConvertAsciiToEbcdic(byte[]asciiData)publicstaticbyte[]ConvertAsciiToEbcdic(byte[]asciiData){//Createtwodifferentencodin

c# - 有没有像 "user-defined encoding fallback"这样的东西

当使用ASCII编码并将字符串编码为字节时,ö之类的字符将生成?。Encodingencoding=Encoding.GetEncoding("us-ascii");//orEncodingencoding=Encoding.ASCI;data=encoding.GetBytes(s);我正在寻找一种方法来用不同的字符替换这些字符,而不仅仅是问号。示例:ä->aeö->oeü->ueß->ss如果无法用多个字符替换一个字符,如果我能用一个字符替换它们,我会接受(ö->o)现在有几种EncoderFallback的实现,但是我不明白它们是如何工作的。一个快速而肮脏的解决方案是在将字符串提

c# - 将 MemoryStream 的内容作为 ASCII 字符串获取的快速方法

我在MemoryStream中有一个JSON字符串。我正在使用以下代码将其作为ASCII字符串输出:MemoryStreammemstream=newMemoryStream();/*WriteaJSONstringtomemstreamhere*/byte[]jsonBytes=newbyte[memstream.Length];memstream.Read(jsonBytes,0,(int)memstream.Length);stringjsonString=Encoding.ASCII.GetString(jsonBytes);执行此操作的更短/最短方法是什么?

c# - 如何在 c# 中将字符串从 utf8 转换(音译)为 ASCII(单字节)?

我有一个字符串对象“有多个字符甚至特殊字符”我正在尝试使用UTF8Encodingutf8=newUTF8Encoding();ASCIIEncodingascii=newASCIIEncoding();对象,以便将该字符串转换为ascii。我可以请某人为这个简单的任务带来一些启发,那就是我的下午。编辑1:我们正在努力完成的是摆脱特殊字符,如一些特殊的Windows撇号。我在下面作为答案发布的代码不会解决这个问题。基本上O'BrianwillbecomeO?Brian.where'isoneofthespecialapostrophes 最佳答案

c# - .NET 将不可打印的 ASCII 替换为十六进制代码的字符串表示形式

我有一个字符串,里面有一些不可打印的ascii字符,比如:"ABCD\x09\x05\r\n"我想用十六进制代码数字的ascii字符串表示替换这些字符,所以我得到如下内容:"ABCD[09][05][0D][0A]"最好的方法是什么?可以使用正则表达式吗? 最佳答案 模式\p{Cc}匹配任何控制字符,所以Regex.Replace(input,@"\p{Cc}",a=>string.Format("[{0:X2}]",(byte)a.Value[0]));也将替换控制字符。 关于c#-.

c# - 从 UTF8 到 ASCII 的转换

我从以UTF8编码存储的XML文件中读取了一段文本。C#可以完美地读取它,我检查了调试器,但是当我尝试将它转换为ASCII以将其保存在另一个文件中时,我得到一个?char在有冲突字符的地方。例如,这段文字:strings="Laintroducciónmasivadelasnuevastecnologíasdelainformación";将另存为"Laintroducci?nmasivadelasnuevastecnolog?asdelainformaci?n"我不能只用拉丁语(a,e,i,o,u)元音替换它们,因为西类牙语中的某些词会失去意义。我已经试过了this和this没有成功