1. 程式人生 > >Java不同編碼方式,中英文字元所佔位元組數

Java不同編碼方式,中英文字元所佔位元組數

 1 public class Test {
 2 
 3     public static void main(String[] args){
 4 
 5         String[] charsetNames={    
 6                                     "UTF-8",
 7                                     "UTF-16",
 8                                     "UTF-16BE",
 9                                     "UTF-16LE",
10 "UTF-32", 11 "UTF-32BE", 12 "UTF-32LE", 13 "UNICODE", 14 "GBK", 15 "GB2312",
16 "GB18030", 17 "ISO8859-1", 18 "BIG5", 19 "ASCII" 20 }; 21 22 23 for(int i=0;i<charsetNames.length;i++){
24 printByteLength(charsetNames[i]); 25 } 26 27 } 28 29 /** 30 * String類的不帶引數的getBytes()方法會以程式所執行平臺的預設編碼方式為準來進行轉換, 31 * 在不同環境下可能會有不同的結果,因此建議使用指定編碼方式的getBytes(String charsetName)方法。 32 */ 33 public static void printByteLength(String charsetName){ 34 String en="a"; //一個英文字元 35 String zh="啊"; //一箇中文字元 36 try { 37 System.out.println(charsetName+"編碼英文字元所佔位元組數:"+en.getBytes(charsetName).length); 38 System.out.println(charsetName+"編碼中文字元所佔位元組數:"+zh.getBytes(charsetName).length); 39 System.out.println(); 40 } catch (UnsupportedEncodingException e) { 41 System.out.println("非法編碼格式!"); 42 } 43 } 44 }

相關推薦

Java不同編碼方式中英文字元位元組

1 public class Test { 2 3 public static void main(String[] args){ 4 5 String[] charsetNames={ 6

Java中的UTF-8、UTF-16編碼字元位元組

前言:上一篇文章寫了關於Unicode,以及utf-8、utf-16相關知識。所以本篇博文來驗證在java環境下,字元在不同編碼下所佔的字計數。 測試程式碼如下: package string; public class CharByteTes

utf-8字元位元組

英文字母: 位元組數 : 1;編碼:GB2312 位元組數 : 1;編碼:GBK 位元組數 : 1;編碼:GB18030 位元組數 : 1;編碼:ISO-8859-1 位元組數 : 1;編碼:UTF-8 位元組數 : 4;編碼:UTF-16 位元組數 : 2;編

Java字串在不同編碼格式下位元組

package lianxi; import java.io.UnsupportedEncodingException; /** * */ public class one { public static void main(String[] args) t

不同編碼方式對應位元組

①ASCII碼中,一個英文字母(不分大小寫)佔一個位元組的空間,一箇中文漢字佔兩個位元組的空間。一個二進位制數字序列,在計算機中作為一個數字單元,一般為8位二進位制數,換算為十進位制。最小值0,最大值255。 ②UTF-8編碼中,一個英文字元等於一個位元組,一箇中文(含繁體)等於三個位元

java基本資料型別位元組

JAVA基本資料型別所佔位元組數是多少?(32位系統) byte     1位元組                short    2位元組                int      4位元組                long     8位元組                char  

java中八種基本型別位元組

這是8中基本型別的記憶體中佔用位元組數(取值範圍是2的(位元組數X8-1)次方) 1.整型 型別 儲存需求 bit數 取值範圍 byte 1位元組

C語言中不同型別資料位元組彙總

16位編譯器         char:1個位元組         char*:2個位元組         short int:2個位元組         int:2個位元組         unsigned int:2個位元組         long:4個位元組         long long:8個位

double*等指標型別位元組 float* long* int* short* 要求用sizeof 運算子計算C++中char*

因為指標就是地址 都是4個位元組 sizeof(x1));... ||| 32BIT作業系統的 的PC裡 所有的指標 指標所佔的位元組數都是機器的位數32位的機器佔32/8=4位元組不用計算了吧cout&

基本資料型別在32位系統和64位系統中位元組

最近看到這方面的知識,眾說紛紜,所以自己動手實驗下。請看程式碼: #include<iostream> using namespace std; int main() { cout << "字元資料:" <<

OC中char/short/int/float/double在64位系統中位元組

size_t charSize = sizeof(char); NSLog(@"charSize = %zu", charSize);

C語言中幾種型別位元組

最近經常會遇到C語言中各型別變數所佔位元組數的問題,索性在這裡做一個整理總結。 其實C標準並沒有具體給出規定哪個基本型別應該是多少個位元組數,而且這個也與OS、編譯器有關,比如同樣是在32位作業系統,VC++的編譯器下int型別為4個位元組,而在tuborC下

在C語言中,double long unsigned int char 型別資料位元組

在C語言中,double  long  unsigned  int  char  型別資料所佔位元組數和機器字長及編譯器有關係:所以,int,long int,short int的寬度都可能隨編譯器而異。但有下面幾條原則(ANSI/ISO制訂的): 

C語言資料型別位元組

char :1個位元組 unsigned char :1個位元組 char*(即指標變數): 4個位元組(32位的定址空間是2^32, 即32個bit,也就是4個位元組。同理64位編譯器) short : 2個位元組 unsigned short : 2個位元組 int:  4個位元組 unsigned in

c++資料型別(整型/浮點型/字串/陣列/引用/結構體(記憶體對齊)/類(虛擬函式))定義、位元組、最大最小值

#include<iostream> #include<string> #include<limits> using namespace std; int main() { cout << "type: \t\t" << "********

c語言資料型別對應位元組(32位64位 int 位元組

一、程式執行平臺         不同的平臺上對不同資料型別分配的位元組數是不同的。         個人對平臺的理解是CPU+OS+Compiler,是因為:         1、64位機器也可以裝32位系統(x64裝XP);         2、32位機器上可以

資料型別對應位元組(32位64位 int 位元組

一、程式執行平臺      不同的平臺上對不同資料型別分配的位元組數是不同的。      個人對平臺的理解是CPU+OS+Compiler,是因為:       1、64位機器也可以裝32位系統(x64裝XP);       2、32位機器上可以有16/32位的編譯器(XP

sizeof運算子來獲取各種資料型別在記憶體中位元組--gyy整理

C++並沒有規定各種資料型別在記憶體中的儲存大小,依賴於不同的編譯器的不同而不同,要想獲知當前編譯器對各種資料型別分配的大小,可以通過sizeof運算子來獲取。 使用方法1: sizeof(資料型別)   使用方法2: sizeof(變數名   或 常量名 或 表示式  )

C語言中各種整型型別位元組

平臺: 64位編譯器+LINUX+Gcc #include<stdio.h> main() { char a; char* b; short int c; int d; unsigned int e

int longlong等位元組

32位系統下,int、long、long long、__int64所佔位元組數和取值範圍 位元組數 char: 1位元組(8位) int: 4位元組 (32位,取值範圍 -2^31 ~ 2^31-1) unsigned int : 4位元組 (32位,取值範圍 0 ~ 2