oracle数据库编码

--GBK编码,一个汉字占用两个字节

--UTF-8编码,一个汉字占用三个字节。

--两种编码下 英文、数字均占用一个字节

--查询数据库编码

select userenv('language') from dual;

--lengthb 求得字节长度

select lengthb('123') from dual    //3

select lengthb('哈哈哈') from dual  //9  (此时数据库编码为:SIMPLIFIED CHINESE_CHINA.AL32UTF8)

--length 求得字符长度

select length('123') from dual  //3

select length('哈哈哈') from dual  //3

附:java中代码,演示了不同编码所占用的字节数

public static void main(String[] args) throws UnsupportedEncodingException {

String a = "中国人";

String b = "abc";

System.out.println(a.length());  //3

System.out.println(a.getBytes().length);  //9

System.out.println("=====");

System.out.println(b.length()); //3

System.out.println(b.getBytes().length); //3

System.out.println("====");

//gbk:英文一个字符占用一个字节,中文一个字符占用两个个字节

//utf-8:英文一个字符占用一个字节,中文一个字符占用三个字节

//所以,英文多的论坛,utf-8更节省空间

byte[] a_gbk = a.getBytes("GBK");

byte[] a_utf = a.getBytes("UTF-8");

System.out.println(a_gbk.length); //6

System.out.println(a_utf.length); //9

System.out.println("====");

byte[] b_gbk = b.getBytes("GBK");

byte[] b_utf = b.getBytes("UTF-8");

System.out.println(b_gbk.length); //3

System.out.println(b_utf.length);  //3

System.out.println("====");

String c  = new String(b_gbk,"GBK");

System.out.println(c.getBytes().length); //3

}

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lxd663810

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值