utf-8 长度
链接:https://www.zhihu.com/question/30945431/answer/91316302
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
utf-8编码英文字符所占字节数:1
utf-8编码中文字符所占字节数:3
utf-16编码英文字符所占字节数:4
utf-16编码中文字符所占字节数:4
UTF-16BE编码英文字符所占字节数:2
UTF-16BE编码中文字符所占字节数:2
UTF-16LE编码英文字符所占字节数:2
UTF-16LE编码中文字符所占字节数:2
UTF-32编码英文字符所占字节数:4
UTF-32编码中文字符所占字节数:4
UTF-32BE编码英文字符所占字节数:4
UTF-32BE编码中文字符所占字节数:4
UTF-32LE编码英文字符所占字节数:4
UTF-32LE编码中文字符所占字节数:4
unicode编码英文字符所占字节数:4
unicode编码中文字符所占字节数:4
GBK编码英文字符所占字节数:1
GBK编码中文字符所占字节数:2
GB2312编码英文字符所占字节数:1
GB2312编码中文字符所占字节数:2
GB18030编码英文字符所占字节数:1
GB18030编码中文字符所占字节数:2
ISO8859-1编码英文字符所占字节数:1
ISO8859-1编码中文字符所占字节数:1
BIG5编码英文字符所占字节数:1
BIG5编码中文字符所占字节数:2
ASCII编码英文字符所占字节数:1
ASCII编码中文字符所占字节数:1
纸上得来终觉浅,绝知此事要躬行!以上结果是我用下边Java代码生成的:
public static void main(String[] args){
String[] charsetNames={
"utf-8",
"utf-16",
"UTF-16BE",
"UTF-16LE",
"UTF-32",
"UTF-32BE",
"UTF-32LE",
"unicode",
"GBK",
"GB2312",
"GB18030",
"ISO8859-1",
"BIG5",
"ASCII"
};
for(int i=0;i<charsetNames.length;i++){
printByteLength(charsetNames[i]);
}
}
/**
* String类的不带参数的getBytes()方法会以程序所运行平台的默认编码方式为准来进行转换,
* 在不同环境下可能会有不同的结果,因此建议使用指定编码方式的getBytes(String charsetName)方法。
*/
public static void printByteLength(String charsetName){
String a="a"; //一个英文字符
String b="啊"; //一个中文字符
try {
System.out.println(charsetName+"编码英文字符所占字节数:"+a.getBytes(charsetName).length);
System.out.println(charsetName+"编码中文字符所占字节数:"+b.getBytes(charsetName).length);
System.out.println();
} catch (UnsupportedEncodingException e) {
System.out.println("非法编码格式!");
}
}
utf-8 长度的更多相关文章
- JNI-数据类型
转载:http://blog.csdn.net/conowen/article/details/7523145 在Java中有两类数据类型:primitive types,如,int, float, ...
- 393. UTF-8 Validation
393. UTF-8 Validation 这个题很明确,刚开始我以为只能是一个utf,长度大于5的都判断为false,后来才明白题意. 有个小trick,就是长度大于1的时候,判断第一个数字开始1的 ...
- 【转】NI语法 JNI参考 JNI函数大全
原文网址:http://blog.sina.com.cn/s/blog_5de73d0b0101chk1.html 一.对照表 Java类型 本地类型 描述boolean ...
- python全栈开发 随笔 'is' 和 == 的比较知识与区别 编码和解码的内容及转换
python 一. is 和 == 的区别; == 比较的是两边的值. a = 'alex' b = 'alex' print(a = b) #True a = 10 b = 10 print(a = ...
- is 和 == 区别
== 和 is 的区别 == 比较 比较的是两个值 适用于 列表a = '[1:2]'b = '[1:2]'print(a == b) #True 字典a = '{1,2,3}'b = '{ ...
- Android的NDK开发(3)————JNI数据类型的详解
在Java中有两类数据类型:primitive types,如,int, float, char:另一种为reference types,如,类,实例,数组. 注意:数组,不管是对象数组还是基本类型数 ...
- Android jni/ndk编程二:jni数据类型转换(primitive,String,array)
一.数据类型映射概述 从我们开始jni编程起,就不可能避开函数的参数与返回值的问题.java语言的数据类型和c/c++有很多不同的地方,所以我们必须考虑当在java层调用c/c++函数时,怎么正确的把 ...
- 从Java String实例来理解ANSI、Unicode、BMP、UTF等编码概念
转(http://www.codeceo.com/article/java-string-ansi-unicode-bmp-utf.html#0-tsina-1-10971-397232819ff9a ...
- ascii、unicode、utf、gb等编码详解
很久很久以前,有一群人,他们决定用8个可以开合的晶体管来组合成不同的状态,以表示世界上的万物.他们看到8个开关状态是好的,于是他们把这称为"字节".再后来,他们又做了一些可以处理这 ...
- 一个有趣的问题——MySQL中varchar的最大长度
明明维护了一个1k的最小堆,可是输出到MySQL里却只有九百多行数据. 查log,发现这么一段内容: stderr logs com.mysql.jdbc.MysqlDataTruncation: D ...
随机推荐
- Scala环境安装设置
Scala语言可以安装在任何类UNIX或Windows系统.要安装Scala,必须先安装Java1.5或更高版本安装在计算机上. Windows上安装Scala: 步骤(1):JAVA设置: 首先,必 ...
- How GitLab uses Unicorn and unicorn-worker-killer
GitLab uses Unicorn, a pre-forking Ruby web server, to handle web requests (web browsers and Git HTT ...
- ssh 远程执行命令简介
在写这篇博客之前,我google了一堆相关文章,大都是说修改/etc/sudoers,然后NOPASSWD:指定的cmd,但是真心不管用,没有远程虚拟终端这个方法就是浮云,ubuntu10.04 se ...
- 一道lambda表达式题目
#include <iostream> #include <functional> using namespace std; auto Pair = [](auto u, au ...
- OPENId是什么, OAUTH 是什么
what is openId open id is said to be a protocol which uses url as username, so if a website supports ...
- Remmarguts' Date(POJ2449+最短路+A*算法)
题目链接:http://poj.org/problem?id=2449 题目: 题意:求有向图两点间的k短路. 思路:最短路+A*算法 代码实现如下: #include <set> #in ...
- idea 导入 java json 包
1.java 项目导包 找到 External Libraries 下面的java版本包,在点击鼠标右键.直接找到jar路径全部选中导入即可.
- ASP.NET 设置DropDownList的当前选项
1.通过显示字符Text DropDownList.Items.FindByText("你的值").Selected=true; 如果在设置之前,进行过设置,应用如下格式: Dro ...
- JavaScript match() 方法
match() 方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配. 该方法类似 indexOf() 和 lastIndexOf(),但是它返回指定的值,而不是字符串的位置. var st ...
- 【Linux学习】nohup后台运行程序以及输出重定向
Linux有两种命令使程序后台运行 第一种:支持后台运行,但是关闭终端的话,程序也会停止 command & 第二种:支持后台运行,关闭终端后,程序也会继续运行 nohup command & ...