当前位置:编程学习 > C#/ASP.NET >>

C#gbk转码 与java不一样

C#  gbk转码后与java不一样,导致对方获取乱码, 如:珺 C#是%acB    java是 %ac%42
请问C#这里要如何处理才能让java那边正确获取 c# --------------------编程问答-------------------- 注意两边的编码要一致,比如都为utf-8编码。http://blog.csdn.net/chinacsharper/article/details/9885165 --------------------编程问答--------------------
引用 1 楼 guwei4037 的回复:
注意两边的编码要一致,比如都为utf-8编码。http://blog.csdn.net/chinacsharper/article/details/9885165
java那边接收时要求是gbk --------------------编程问答-------------------- 有没有高手,解决过这个问题 --------------------编程问答--------------------
引用 2 楼 zjailanzj 的回复:
Quote: 引用 1 楼 guwei4037 的回复:

注意两边的编码要一致,比如都为utf-8编码。http://blog.csdn.net/chinacsharper/article/details/9885165
java那边接收时要求是gbk

那你在C#端以gbk编码之后再发送过去撒。没有代码谁都帮不了你,只能给你一个思路。 --------------------编程问答--------------------
引用 4 楼 guwei4037 的回复:
Quote: 引用 2 楼 zjailanzj 的回复:

Quote: 引用 1 楼 guwei4037 的回复:

注意两边的编码要一致,比如都为utf-8编码。http://blog.csdn.net/chinacsharper/article/details/9885165
java那边接收时要求是gbk

那你在C#端以gbk编码之后再发送过去撒。没有代码谁都帮不了你,只能给你一个思路。

C#编码 HttpUtility.UrlEncode("珺", Encoding.GetEncoding("GBK"))  java:String content=URLEncoder.encode("珺", "gbk")  2者结果不一样
--------------------编程问答-------------------- 与GBK无关,都是0xac 0x42。
不同的是UrlEncode,但是%acB 与 %ac%42都是对的。如果java无法正常处理,说明java有BUG,但是我更相信还是你们程序自己的问题。 --------------------编程问答-------------------- 我也想知道  C#跟java的区别 --------------------编程问答--------------------
引用 5 楼 zjailanzj 的回复:
C#编码 HttpUtility.UrlEncode("珺", Encoding.GetEncoding("GBK"))  java:String content=URLEncoder.encode("珺", "gbk")  2者结果不一样


你确定两边都是 Encode? --------------------编程问答-------------------- 嗯,还是商量一下对方另外提供一个使用utf8标准化的服务吧。

引用 2 楼 zjailanzj 的回复:
Quote: 引用 1 楼 guwei4037 的回复:

注意两边的编码要一致,比如都为utf-8编码。http://blog.csdn.net/chinacsharper/article/details/9885165
java那边接收时要求是gbk
--------------------编程问答-------------------- 如果仅是这一个字,可以这样写
var result = string.Join("", Encoding.GetEncoding("GBK").GetBytes("珺").Select(w =>
   {
       return "%" + Convert.ToString(w, 16);
   }).ToArray());
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,