Java编程小技巧:获取字符串存储字节长度

我们在存储字符串到MySQL数据库时,英文是占据一个字节,而中文等却是占据2个字节甚至更多,如何在入库前判断实际的长度呢?我们可以通过getBytes方法获取存储长度,保证不会超出存储大小。

代码如下:

/**

* 获取字符串实际的存储长度

* @param str 字符串

* @return int

*/

public static int getActualLength(String str) {

if (StringUtil.isEmptyOrNull(str)) {

return 0;

}

return str.getBytes(Charset.forName("UTF-8")).length;

}

/**

* 获取字符串实际的存储长度

* @param str 字符串

* @param charsetName 编码格式

* @return int

*/

public static int getActualLength(String str, String charsetName) {

if (StringUtil.isEmptyOrNull(str)) {

return 0;

}

if (StringUtil.isEmptyOrNull(charsetName)) {

charsetName = "UTF-8";

}

return str.getBytes(Charset.forName(charsetName)).length;

}

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190826A0MG2E00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券