Tag: 编码

如何在C#中将string转换为UTF-8?

我有一个string,我从第三方应用程序接收,我想在我的Windows Surface上使用C#在任何语言正确显示它。 由于编码不正确,我的一段string看起来像西class牙文: Acción 而应该看起来像这样: 行动组织 根据这个问题的答案: 如何知道在C#中的string编码,我收到的编码应该已经在UTF-8,但它是在Encoding.Default(可能ANSI?)上读取。 我试图将这个string转换为真正的UTF-8,但其中一个问题是我只能看到Encoding类的一个子集(仅限于UTF8和Unicode属性),可能是因为我仅限于Windows Surface API。 我已经尝试了一些我在互联网上find的片段,但是迄今为止,没有一个片段certificate对于东方语言(即韩国)是成功的。 一个例子如下: var utf8 = Encoding.UTF8; byte[] utfBytes = utf8.GetBytes(myString); myString= utf8.GetString(utfBytes, 0, utfBytes.Length); 我也尝试将string解压缩到一个字节数组,然后使用UTF8.GetString: byte[] myByteArray = new byte[myString.Length]; for (int ix = 0; ix < myString.Length; ++ix) { char ch = myString[ix]; myByteArray[ix] = (byte) ch; } myString = Encoding.UTF8.GetString(myByteArray, 0, myString.Length); […]

Java中的“无法映射的编码字符”警告

我目前正在编写一个Java项目,当我编译时发出以下警告: /src/com/myco/apps/AppDBCore.java:439: warning: unmappable character for encoding UTF8 [javac] String copyright = " 2003-2008 My Company. All rights reserved."; 我不确定在date之前如何呈现这个angular色,但是它应该是一个版权符号,并且在警告中显示为一个钻石中的问号。 值得注意的是,这个字符正确地出现在输出工件中,但是这个警告是令人讨厌的,包含这个类的文件有一天可能被一个文本编辑器触及,这个文本编辑器会错误地保存编码。 我怎样才能将这个字符注入到“版权”string中,以便编译器很高兴,并且这个符号被保存在文件中而没有潜在的重新编码问题?

SQL Server 2005 T-SQL中的Base64编码

我想编写一个T-SQL查询,我将其编码为Base64string。 令人惊讶的是,我找不到用于执行Base64编码的任何本地T-SQL函数。 本地函数是否存在? 如果没有,那么在T-SQL中进行Base64编码的最好方法是什么?

奇怪的\ n在base64编码的string在Ruby中

Ruby中embedded的Base64库增加了一些“\ n”。 我无法找出原因。 对于这个特殊的例子: irb(main):001:0> require 'rubygems' => true irb(main):002:0> require 'base64' => true irb(main):003:0> str = "1110–ad6ca0b06e1fbeb7e6518a0418a73a6e04a67054" => "1110–ad6ca0b06e1fbeb7e6518a0418a73a6e04a67054" irb(main):004:0> Base64.encode64(str) => "MTExMC0tYWQ2Y2EwYjA2ZTFmYmViN2U2NTE4YTA0MThhNzNhNmUwNGE2NzA1\nNA==\n" \ n在最后和第六位。 解码器(Base64.decode64)完美地返回旧的string。 奇怪的是,这些\ n不会给编码的string添加任何值。 当我从输出string中删除换行符时,解码器再次完全解码。 irb(main):005:0> Base64.decode64(Base64.encode64(str).gsub("\n", '')) == str => true 更多的是,我用另一个JS库来生成相同的inputstring的base64编码的输出,输出没有\ n的。 这是一个错误还是其他什么? 有没有人遇到过这个问题? 仅供参考, $ ruby -v ruby 1.8.7 (2008-08-11 patchlevel 72) [i486-linux]

对已修改的base64 URL进行解码/编码的代码

我想base64编码数据把它放在一个URL,然后解码它在我的HttpHandler。 我发现Base64编码允许一个'/'字符,这将弄乱我的UriTemplate匹配。 然后我发现wikipedia有一个“修改过的Base64 for URL”的概念: 存在用于URL变体的修改的Base64,其中将不使用填充“=”,并且将标准Base64的“+”和“/”字符分别replace为“ – ”和“_”,以便使用URL编码器/解码器不再是必需的,并且对编码值的长度没有影响,使得相同的编码forms保持原样用于关系数据库,网页表格和对象标识符。 使用.NET我想修改我现在的代码从做基本的base64编码和解码到使用“修改后的base64 for URL”方法。 有没有人做过这个? 为了解码,我知道它开始与像这样的东西: string base64EncodedText = base64UrlEncodedText.Replace('-', '+').Replace('_', '/'); // Append '=' char(s) if necessary – how best to do this? // My normal base64 decoding now uses encodedText 但是,我需要添加一个或两个'='字符到最后看起来更复杂一点。 我的编码逻辑应该更简单一些: // Perform normal base64 encoding byte[] encodedBytes = Encoding.UTF8.GetBytes(unencodedText); string base64EncodedText = Convert.ToBase64String(encodedBytes); // […]

Base64 Java对一个string进行编码和解码

我想将一个string编码到base64中,并通过一个套接字将其传回并解码。 但解码后给出不同的答案。 以下是我的代码,结果是“77 + 9x6s =” import javax.xml.bind.DatatypeConverter; public class f{ public static void main(String a[]){ String str = new String(DatatypeConverter.parseBase64Binary("user:123")); String res = DatatypeConverter.printBase64Binary(str.getBytes()); System.out.println(res); } } 任何关于如何实现这个想法? 谢谢…

编码和字符集有什么区别?

我很困惑的文字编码和字符集。 出于许多原因,我必须在即将到来的工作中学习非Unicode,非UTF8的东西。 我在电子邮件标题中find了“charset”字样,如“ISO-2022-JP”,但在文本编辑器中没有这样的编码。 (我环顾了不同的文本编辑器。) 文字编码和字符集有什么区别? 如果你能给我看一些用例的例子,我将不胜感激。

在mysql中utf8mb4和utf8 charsets有什么区别?

在mysql中utf8mb4和utf8 charsets有什么区别? 我已经知道ASCII,UTF-8,UTF-16和UTF-32编码; 但我很想知道'utf8mb4'编码组与其他编码types在mysql服务器中定义的区别是什么。 使用utf8mb4而不是utf8有什么特别的好处?

为什么Python在默认编码是ASCII时打印unicode字符?

从Python 2.6shell: >>> import sys >>> print sys.getdefaultencoding() ascii >>> print u'\xe9' é >>> 我打算在打印语句后有一些乱码或错误,因为“é”字符不是ASCII的一部分,我没有指定编码。 我想我不明白是什么ASCII是默认的编码手段。 编辑 我将编辑移到Answers部分,并按build议接受。

如何在Ruby中将string或整数转换为二进制文件?

你如何创build整数0..9和math运算符+ – * / in到二进制string。 例如: 0 = 0000, 1 = 0001, … 9 = 1001 有没有办法使用Ruby 1.8.6而不使用库?