草庐IT

ENCODING

全部标签

C# 方法类似于 Base64String,但只有字母数字(没有加号或斜线)

是否有任何C#方法类似于Convert.ToBase64String但除了字母数字输出之外不生成任何内容?谢谢! 最佳答案 答案现在有点过时了。为了future搜索者的利益:现在在C#中处理此问题的最佳方法是:byte[]b;//fillyourbytearraysomehowstrings=System.Web.HttpServerUtility.UrlTokenEncode(b);这将返回一个URL安全的Base64编码字符串(这是您在问题的评论中所说的真正追求的内容)。然后你可以再次解码它,你猜对了:byte[]b=Syste

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

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

c# - 在 .NET 1.1 中获取编码列表

我需要检索支持的编码列表,但我使用的是.NET1.1,因此以下调用不可用:usingSystem;usingSystem.Text;publicclassSamplesEncoding{publicstaticvoidMain(){//Foreveryencoding,getthepropertyvalues.foreach(EncodingInfoeiinEncoding.GetEncodings()){Encodinge=ei.GetEncoding();Console.Write("{0,-6}{1,-25}",ei.CodePage,ei.Name);Console.Write

c# - 将字节数组转换为任何基数

我有一个字节数组(任意长度),我想使用我自己的基本编码器将这个数组编码成字符串。在.NET中是标准的Base64编码器,但是如果我想用Base62、Base53或Base13?是否有可能创建这样的通用基础编码器?我知道我可以用简单的方法做到这一点,即为每个字节保留固定数量的字符(如果是Base62,则为5个字符),然后直接执行byte->字符编码,但我会浪费空间,因为5个Base62字符能够包含超过1个字节但少于2个字节。我应该如何编写这样的编码器?或者已经有一些类(class)了吗?请注意,我也需要通用解码器,否则这对我没用。资源因为解决方案是已知的(使用BigInteger),我只

c# - 从 UTF8 到 ASCII 的转换

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

c# - Convert.ToBase64String/Convert.FromBase64String 和 Encoding.UTF8.GetBytes/Encoding.UTF8.GetString 的区别

我目前正在学习.NET中的对称密码学。我写了一个演示如下:privatebyte[]key=Encoding.ASCII.GetBytes("abcdefgh");privatebyte[]IV=Encoding.ASCII.GetBytes("hgfedcba");privatebyte[]encrypted;publicForm1(){InitializeComponent();}privatevoidbtnEncrypt_Click(objectsender,EventArgse){this.textBox2.Text=this.Encrypt(this.textBox1.Tex

c# - 如何将字符串转换为 "iso-8859-1"?

如何将UTF-8字符串转换为ISO-8859-1字符串? 最佳答案 尝试:System.Text.Encodingiso_8859_1=System.Text.Encoding.GetEncoding("iso-8859-1");System.Text.Encodingutf_8=System.Text.Encoding.UTF8;//Unicodestring.strings_unicode="abcéabc";//ConverttoISO-8859-1bytes.byte[]isoBytes=iso_8859_1.GetByte

c#、Excel + csv : how to get the correct encoding?

我已经尝试了很长一段时间,但无法弄清楚。我正在尝试通过*.csv文件将数据导出到Excel。到目前为止效果很好,但是在Excel中打开文件时我遇到了一些编码问题。(左边是原始字符串,右边是EXCEL结果):Messwert(µm/m)==>Messwert(µm/m)DümmeMässöng==>DümmeMässöngNotepad++告诉我文件编码为“ANSIasUTF8”(WTF?)因此,这里是我尝试获得有效结果的不同方法:明显的实现:tWriter.Write(";Messwert(µm/m)");更复杂的(可能尝试了十几种或更多的编码组合:)tWriter.Write

c# - 为什么 UTF8Encoding.GetBytes 不发出字节顺序标记?

这个片段说明了一切:-)UTF8Encodingenc=newUTF8Encoding(true/*includeByteOrderMark*/);byte[]data=enc.GetBytes("a");//datahaslength1.//IexpectedtheBOMtobeincluded.What'sup? 最佳答案 您不希望它用于每次GetBytes调用,否则您将无法(比方说)一次写入一个文件一行。通过使用GetPreamble公开它,调用者可以在适当的点插入前导码(即在他们的数据的开头)。不过,我同意文档可能会更清晰。

c# - 从 Server.UrlEncode 获取大写字符串

我希望它的输出为大写。这是我在Server.UrlEncode("http://")上得到的:http%3a%2f%2f但我需要:http%3A%2F%2F是否有C#中的内置解决方案?编码后的url应作为签名基础字符串(输入签名算法)来创建摘要(哈希)。哈希随后将被其他系统(java、php等)验证,因此他们需要先通过签名重建来重新创建哈希。 最佳答案 这会将字符串中的所有转义字符大写。stringurl="http://whatever.com/something";stringlower=Server.UrlEncode(url