当前位置:网站首页 > 编程语言 > 正文

字符串转码utf8(字符串转码转换编码)



 

String str = "任意字符串";
str = new String(str.getBytes("gbk"),"utf-8");

备注说明:
str.getBytes("UTF-8"); 的意思是以UTF-8的编码取得字节 
new String(XXX,"UTF-8"); 的意思是以UTF-8的编码生成字符串




注意要try   catch

 

 

 

 版权声明 转发~ https://blog.csdn.net/weixin_/article/details/

 

 

Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。1990年开始研发,1994年正式公布。

Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。目前的Unicode字符分为17组编排,0x0000 至 0x10FFFF,每组称为平面(Plane),而每平面拥有65536个码位,共个。然而目前只用了少数平面。UTF-8、UTF-16、UTF-32都是将数字转换到程序数据的编码方案。

通用字符集(Universal Character Set, UCS)是由ISO制定的ISO 10646(或称ISO/IEC 10646)标准所定义的标准字符集。UCS-2用两个字节编码,UCS-4用4个字节编码。

UTF-8

UTF-8以字节为单位对Unicode进行编码。

UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,又称万国码,由Ken Thompson于1992年创建。现在已经标准化为RFC 3629。UTF-8用1到6个字节编码Unicode字符。用在网页上可以统一页面显示中文简体繁体及其它语言(如英文,日文,韩文)。

 

UTF-16

UTF-16编码以16位无符号整数为单位。

UTF-16是Unicode字符编码五层次模型的第三层:字符编码表(Character Encoding Form,也称为 "storage format")的一种实现方式。即把Unicode字符集的抽象码位映射为16位长的整数(即码元)的序列,用于数据存储或传递。Unicode字符的码位,需要1个或者2个16位长的码元来表示,因此这是一个变长表示。

UTF-16是Unicode的其中一个使用方式。 UTF是 Unicode TransferFormat,即把Unicode转做某种格式的意思。

它定义于ISO/IEC 10646-1的附录Q,而RFC2781也定义了相似的做法。

在Unicode基本多文种平面定义的字符(无论是拉丁字母、汉字或其他文字或符号),一律使用2字节储存。而在辅助平面定义的字符,会以代理对(surrogate pair)的形式,以两个2字节的值来储存。

UTF-16比起UTF-8,好处在于大部分字符都以固定长度的字节 (2字节) 储存,但UTF-16却无法兼容于ASCII编码。

UTF-32

UTF-32编码以32位无符号整数为单位。Unicode的UTF-32编码就是其对应的32位无符号整数。

UTF-32 (或 UCS-4)是一种将Unicode字符编码的协定,对每一个Unicode码位使用恰好32位元。其它的Unicode transformation formats则使用不定长度编码。因为UTF-32对每个字符都使用4字节,就空间而言,是非常没有效率的。特别地,非基本多文种平面的字符在大部分文件中通常很罕见,以致于它们通常被认为不存在占用空间大小的讨论,使得UTF-32通常会是其它编码的二到四倍。虽然每一个码位使用固定长定的字节看似方便,它并不如其它Unicode编码使用得广泛。

j

 

java中编码

 

String gbkStr = "你好哦!"; //源码文件是GBK格式,或者这个字符串是从GBK文件中读取出来的, 转换为string 变成unicode格式
//利用getBytes将unicode字符串转成UTF-8格式的字节数组
byte[] utf8Bytes = gbkStr.getBytes("UTF-8"); 
//然后用utf-8 对这个字节数组解码成新的字符串
String utf8Str = new String(utf8Bytes, "UTF-8");
简化后就是:
unicodeToUtf8 (String s) {
return new String( s.getBytes("utf-8") , "utf-8");
}
UTF-8 转GBK原理也是一样
return new String( s.getBytes("GBK") , "GBK");
 










解决编码乱码

转发自:https://www.cnblogs.com/dingjiaoyang/p/9529217.html

到此这篇字符串转码utf8(字符串转码转换编码)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 单片机msp430(单片机msp430g2音乐播放器)2026-02-23 09:09:09
  • 网页传输协议(传输网页使用的协议是什么)2026-02-23 09:09:09
  • max31865模块(MAX31865模块需要割开)2026-02-23 09:09:09
  • c1517-001故障码(c108515故障码)2026-02-23 09:09:09
  • 生成式预训练模型(生成式预训练模型GPT首次问世)2026-02-23 09:09:09
  • 查域名ip命令(查看域名的ip地址)2026-02-23 09:09:09
  • hpl是什么文件(hp文件夹是什么意思)2026-02-23 09:09:09
  • gjk算法复杂度(算法复杂度计算)2026-02-23 09:09:09
  • c7000风扇改调速(780t风扇调速怎么接)2026-02-23 09:09:09
  • linux dos2unix命令(linux的dos)2026-02-23 09:09:09
  • 全屏图片