首先转换方面:
- byte[]
- bytes = System.Text.Encoding.UTF8.GetBytes(msgStr);
- bytes = Encoding.Convert(Encoding.UTF8, Encoding.Unicode, bytes);
- bytes = System.Text.Encoding.Unicode.GetBytes(msgStr);
- msgStr = System.Text.Encoding.GetEncoding("gb2312").GetString(Encoding.Convert(Encoding.Unicode, Encoding.GetEncoding("gb2312"), bytes));
编码:"\\uxxxx" 转换为"\uxxxx"
解码:"\uxxxx" 转换为"\\uxxxxx"
编码算法
-
- 对这个方法做一点改进 使他支持中英混排
- public static string ConvertUnicodeStringToChinese(string unicodeString)
- {
- if (string.IsNullOrEmpty(unicodeString))
- return string.Empty;
-
- string outStr = unicodeString;
-
- Regex re = new Regex("\\\\u[0123456789abcdef]{4}", RegexOptions.IgnoreCase);
- MatchCollection mc = re.Matches(unicodeString);
- foreach (Match ma in mc)
- {
- outStr = outStr.Replace(ma.Value, ConverUnicodeStringToChar(ma.Value).ToString());
- }
- return outStr;
- }
-
- private static char ConverUnicodeStringToChar(string str)
- {
- char outStr = Char.MinValue;
- outStr = (char)int.Parse(str.Remove(0, 2), System.Globalization.NumberStyles.HexNumber);
- return outStr;
- }
解码:
- static Regex reUnicode = new Regex(@"\\u([0-9a-fA-F]{4})", RegexOptions.Compiled);
- public static string ConvertChineseToUnicodeString(string chinese)
- {
- MatchCollection mc = re.Matches(chinese);
- string unicodeString="";
- foreach(Match ma in mc)
- {
- char c;
- if(Short.TryParse(ma.Remove(0,1), System.Globalization.NumberStyles.HexNumber, CultureInfo.InvariantCulture, out c))
- {
- unicodeString +=("\\u"+c);
- }
- }
- return unicodeString;
- }
分享到:
相关推荐
UnicodeCode编码转换成字符串编码的C#类 \uA054\uA055 => "中文
Unicode解码和编码是处理Unicode字符串时的关键步骤。解码是将用特定编码格式(如UTF-8、UTF-16)表示的Unicode字符转换为原始字符的过程,而编码则是将这些字符转换回字节序列,以便存储或传输。下面我们将深入探讨...
这个例子展示了如何使用C#内置的类库对URL进行编码和解码,以及如何处理Unicode编码。在实际的Web应用开发中,这些操作通常发生在与服务器交互时,比如构建查询字符串、处理响应或者解析URL中的参数。 总之,理解...
C# 提供了丰富的字符串处理功能,包括将字符串与 Unicode 编码进行转换的能力。本文将详细介绍如何在 C# 中实现字串与 Unicode 的相互转换,并通过具体的代码示例来展示这一过程。 #### 一、C# 字串转 Unicode 方法...
- **System.Text.Encoding类库**:C#标准库中包含了多个Encoding类,如ASCIIEncoding、UTF8Encoding、UnicodeEncoding等,它们分别对应不同的字符编码标准,可以方便地进行编码和解码操作。 - **使用示例**: ```...
经常遇到这样内容的json字符串,原来是把其中的汉字做了Unicode编码转换。 Unicode编码: 将汉字进行UNICODE编码,如:“王”编码后就成了“\王”,UNICODE字符以\u开始,后面有4个数字或者字母,所有字符都是16进制...
// 使用Unicode编码解码字节,转换为字符串 sb.Append(Encoding.Unicode.GetString(codes)); } else { // 如果不是Unicode编码,直接添加到结果字符串 sb.Append(v); } } // 返回转换后的字符串 return ...
UTF-8是最兼容且最广泛接受的Unicode编码,它可以表示Unicode中的所有字符,且对ASCII字符(英语字符)保持与ASCII编码的兼容性。UTF-8使用1到4字节的字节序列来表示一个字符,这样设计使得它在处理英文文本时效率更...
在C#中,汉字和Unicode编码的转换主要涉及对字符串的编码和解码过程。 首先,让我们了解Unicode编码的基本概念。Unicode编码通常使用16位表示一个字符,因此对于汉字这样的双字节字符,它由两个16进制的数字组成。...
Unicode编码方案中,每个汉字都有一个固定的码点(Code Point),这使得不同地区的字符能够统一表示,避免了编码冲突问题。C#中的字符串类型`string`默认采用UTF-16编码,这是Unicode的一个实现,它可以表示所有的...
通过以上介绍,我们可以看出,理解PDU格式和C#中的编码解码机制对于开发短信应用至关重要。无论是发送还是接收短信,都需要处理PDU数据,而`SMSPDUDemo`和`smspdulibsrc`提供的示例和源代码,可以作为学习和实现这个...
字符编码是计算机表示和处理文本的方式,例如ASCII、Unicode(UTF-8、UTF-16等)和GBK等。不同的编码方式决定了字符集的范围以及每个字符在内存中的存储方式。在英文操作系统下,如果处理非英文文本,尤其是中文文本...
在本文中,我们将深入探讨如何使用C语言实现SMS消息的编码和解码,特别是7-bit编码和解码,以及UCS2编码。首先,我们关注7-bit编码和解码算法。 7-bit编码是一种用于SMS(Short Message Service)的编码方式,它...
《Unicode解码器v2.0:从代码到中文的桥梁》 在信息技术领域,字符编码扮演着至关重要的角色,尤其是在跨平台、多语言的环境中。...对于理解和使用Unicode编码的开发者来说,这无疑是一个不可或缺的助手。
本文将深入探讨“常用编码与解码”,主要关注UTF-8、GB2312和GBK这三种常见的中文编码格式。 首先,我们要理解什么是编码。编码是将字符(如汉字、字母、数字等)转化为特定二进制序列的过程。这个过程允许计算机...
本文将深入探讨C#(也称为CSsharp)中如何实现RSA编码解码,以及如何生成公钥和私钥,并结合在Visual Studio 2008(VS2008)环境下进行测试。 RSA加密系统由Ron Rivest、Adi Shamir和Leonard Adleman于1977年提出,...
最常用的Unicode编码方式是UTF-8,它是一种变长编码,能够高效地表示英文和中文等不同语言的字符。 **GB18030** 是中国国家标准的汉字编码,全称为“信息技术—多字节编码字符集—GBK扩展A”,它是GBK编码的升级版...
`Encoding`类提供了各种预定义的编码实例,如`Encoding.ASCII`、`Encoding.UTF8`等,通过这些实例可以进行编码和解码操作。例如,将一个UTF-8编码的字符串转换为GBK编码,可以这样写: ```csharp string utf8Text =...
在转换过程中,需要先读取原始文件的字节流,然后根据目标编码进行解码和重新编码,最后将新编码的字节流写入到目标文件。 4. **错误处理**:编码转换过程中可能会遇到无法识别的字节序列,这时需要决定如何处理,...
Unicode是一种全球通用的字符集,包含世界上几乎所有的文字,而SJIS是日本常用的字节编码方式,主要用来表示日语中的汉字、假名和符号。 Shift-JIS,全称为"Shift_JIS"或"MS-Kanji",是由微软在日本推广的一种对JIS...