Tag: 编码

XDocument的特殊字符

我正在尝试读取一个文件(不是XML,但结构类似),但我得到了这个例外: ‘┴’, hexadecimal value 0x15, is an invalid character. Line 8, position 7. 并且文件中有很多这样的符号,我无法替换,因为我不能为了我的目的修改文件的内容… 那是代码: try { XDocument doc = new XDocument(new XDeclaration(“1.0”, “utf-16”, “yes”)); doc = XDocument.Load(arquivo); } catch (Exception e) { MessageBox.Show(e.Message.ToString()); } 这是文件的一部分: UTF16 0000016125 0003┴300000┴English(US)PORTUGUESE┴┴bla.000┴webgui\messages\xsl\en\blabla\blabla.xlf To blablablah the firewall to blablablah local IP address. Para blablablah a uma blablablah local específico. […]

使用.net core编码问题2

此代码在.net framework按预期工作,但在.net core 2 in.txt文件包含“Düsseldorf” 在.net框架中,输出是“杜塞尔多夫” 在.net核心中,输出是“D sseldorf” (我已经绝望地尝试了所有其他编码……没人工作) string infile = @”C:\in.txt”, outFile = @”C:\out.txt”; var inStr = new StreamReader(infile, Encoding.Default); var outStr = new StreamWriter(outFile, false, Encoding.Default); while (!inStr.EndOfStream) { outStr.WriteLine(inStr.ReadLine()); } outStr.Flush(); inStr.Dispose(); outStr.Dispose(); 任何想法为什么它不起作用?

如何解码UTF8字节?

如何在C#中解码字符串中的UTF8字节? 示例:解码此输入: “Poluci%C3%B3n” 输出这个: “Polución”

WebClient.DownloadString结果与浏览器结果2不匹配

以下代码: WebClient wc = new WebClient(); wc.Encoding = Encoding.UTF8; string Url = “http://www.tsetmc.com/tsev2/data/instinfodata.aspx?i=59266699437480384&c=64″; return wc.DownloadString(Url); 代码返回: Q T MP J A| ^D ~ C ” l ;I&3=j= iG H9Ȓ J ^ j T Q=HH ‘Qm 1 hF 4 * { x \o? 当我在任何网络浏览器中访问该URL时,我得到: 12:29:45,A ,3540,3567,3600,3621,3690,3515,140,238204,849582597,1,20140914,122945;;1@2825@3523@3583@1700@1,1@2000@3522@3600@8700@2,1@500@3511@3640@2500@1,;19774,99736,1 有没有办法得到正确的字符串? 另外,我使用这个在线解码器,但我没有得到正确答案: 通用在线解码器

C#/ Oracle:指定查询的编码/字符集?

我正在尝试获取Oracle 10数据库的一些数据。 有些细胞含有德国变形金刚(äöü)。 在我的管理工具( TOAD )中,我可以很好地看到它们:“MantelfürDamen”(女士夹克) 这是我的C#代码(简化): var oracleCommand = new OracleCommand(sqlGetArticles, databaseConnection); var articleResult = oracleCommand.ExecuteReader(); string temp = articleResult.Read()[“SomeField”].ToString(); Console.WriteLine(temp); 输出是:“Mantel f ? r Damen” 尝试调试(将鼠标移到变量上),Debug-Window,Console-Window,File。 我想我必须在其中指定编码/字符集。 但是哪里?

使用自定义编码或添加自定义字符

无论如何,当使用二进制读取器读取它们时,我可以使用一些自定义编码或转换一些base16字符(日语SHIFT-JIS中的两个字节字符)? 我的意思是,在读取它们时,如果有一个0x00ff,它会在读取和写入时将其转换为“\ et”(编辑文件,并使用二进制文件写入)。

.NET从hex值的字符串转换为Unicode字符(支持不同的代码页)

我有一串Hex值…… String hexString = “8A65”; 我需要将此字符串转换为它们的Unicode等价物。 棘手的部分是我需要支持不同的代码页,一些代码页有’8A65’=一个字符,而其他代码页将它转换成两个字符。 在我需要执行转换之前,我不知道将使用哪个代码页。 我尝试过各种各样的东西,比如 byte[] original = Encoding.Unicode.GetBytes(hexString); byte[] conv= Encoding.Convert(Encoding.Unicode, Encoding.GetEncoding(932), orig); char[] chars = Encoding.GetEncoding(932).GetChars(conv); 注意:代码页932是日语 解 string hexString = “8A65”; int length = hexString.length; byte[] bytes = new byte[length / 2]; for (int i = 0; i < length; i += 2) { bytes[i / 2] = […]

如何将UTF-8阿拉伯字母转换为CodePage 1001?

我有一个支持CodePage 1001阿拉伯语的Star Micronics TSP,如何使用C#将UTF-8转换为特定的代码页? 更新:我发现CodePage 864与打印机兼容,我尝试发送hex值,我得到了正确的字符, myPrinter.PrintNormal(PrinterStation.Receipt, “\xFE8D”); 我尝试以下将字符串转换为codePage 864: Encoding enc = Encoding.GetEncoding(864); byte[] arr = enc.GetBytes(“السلام”); 我在编码后得到的字节arr值是{63,63,63,63,63,63} ,它的值是错误的,甚至字节数也是错误的,因为它是一个双字节字符。

将字节数组转换为字符串然后再返回会产生不同的结果

我正在使用libsodium的.net端口 。 哈希生成函数有两种forms,一种接受字节数组,另一种接受字符串: public static byte[] ArgonHashBinary(string password, string salt, long opsLimit, int memLimit, long outputLength = ARGON_SALTBYTES) public static byte[] ArgonHashBinary(byte[] password, byte[] salt, long opsLimit, int memLimit, long outputLength = ARGON_SALTBYTES) 我遇到的问题是两种forms在输入值相同时产生相同的散列。 var saltAsBytes = PasswordHash.ArgonGenerateSalt(); var saltAsString = Encoding.UTF8.GetString(saltAsBytes); var tmp = Encoding.UTF8.GetBytes(saltAsString); var hash1 = PasswordHash.ArgonHashBinary(password, saltAsString, 6, 134217728, 16); var […]

UrlEncode – Javascript与C#

我有一个需要一些参数的URL。 这些参数的值可以是重音字符,所以我绝对需要UrlEncode它们。 奇怪的是,我发现行为或Javascript和.NET之间存在差异。 让我们假装我尝试将“éléphant”这个词用于UrlEncode。 在JavaScript中(根据此WebSite: http : //www.albionresearch.com/misc/urlencode.php ),我得到以下内容:%E9l%E9phant。 这对我来说是正确的。 但是,在这个调用的.NET中(System.Web.HttpUtility.UrlEncode(“éléphant”))我得到“%c3%a9l%c3%a9phant”。 怎么了? 我错过了什么? 如果我想在.NET中获得%E9l%E9phant,我该怎么办? 谢谢!