C#如何从UTF8转换成GBK

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#如何从UTF8转换成GBK相关的知识,希望对你有一定的参考价值。

如题

参考技术A 前提是服务器端只接收gbk编码的请求,这个改不了。那么就要从客户端想办法将utf8编码的xml转成gbk编码的请求。
有以下方法:
1、将xml当中<?xml version="1.0" encoding="UTF-8" standalone="yes"?>改为<?xml version="1.0" encoding="gb2312" standalone="yes"?>

2、在使用HttpWebRequest发送请求时,将utf8的字符串转为gb2312格式的字节数组
System.Text.Encoding gbkEncode = System.Text.Encoding.GetEncoding("gb2312");
byte[] bytes = gbkEncode .GetBytes("要发送的xml字符串");
System.IO.Stream writer = request.GetRequestStream();
writer.Write(bytes, 0, bytes.Length);
参考技术B using System.Text;

byte[] buffer = Encoding.GetEncoding("utf-8").GetBytes("中国");
string str = "";

foreach (byte b in buffer) str += string.Format("%0:X", b);
参考技术C System.Text.Encoding.GetEncoding("UTF-8").GetString(System.Text.Encoding.GetEncoding("GB2312").GetBytes(str));

Python字符串

从编码和常用字符串函数两方面进行总结

1. 编码

  计算机里面,编码方法有很多种,英文的一般用ascii,而中文有unicode,utf-8,gbk,utf-16等等。

  unicode是 utf-8,gbk,utf-16这些的父编码,这些子编码都能转换成unicode编码,然后转化成子编码,例如utf8可以转成unicode,再转gbk,但不能直接从utf8转gbk

  所以,python中就有两个方法用来解码(decode)与编码(encode),解码是子编码转unicode,编码就是unicode转子编码

  #encoding:UTF-8

2. 常用函数

  lower()#大写转小写

  upper() #小写转大写

  swapcase() #大小写互换

  capitalize() #首字母大写

  ljust rjust center zfill expandtabs #字符串输出对齐

  find rfind #字符串查找

  index rindex #字符索引

  count #字符出现的次数

  replce strip lstrip rstrip #字符串替换

  split rsplit lsplit

  join(seq) #把seq代表的序列--字符串序列,用字符串S链接起来

  startwith endwith

  isalnum #是否全是字母和数字,并至少有一个字符

  isalpha #是否全是字母,并至少有一个字符

  isdigit #是否全是数字

  isspace islower isupper istitle

  

  

以上是关于C#如何从UTF8转换成GBK的主要内容,如果未能解决你的问题,请参考以下文章

易语言如何把GBK编码转换成UTF8?好的追加50

C# 转换编码 如何从utf-8转换到gb2312

utf-8编码的页面如何转成gbk编码的页面(急)

如何将gbk 编码的字符串转换成 utf

易语言如何把GB2312格式转换成记事本里的utf-8?

如何将许多ANSI格式的txt文档批量转换成UTF8格式?