如何统计微信聊天字数?微信公众帐号开发之文本消息长度限制怎么做?

  如何统计微信聊天字数?微信公众帐号开发之文本消息长度限制怎么做?

  小编整理了一些知识,下面就来给大家讲解一下如何统计微信聊天字数?微信公众帐号开发之文本消息长度限制。

  将聊天记录导出来,整理成word文档,再去统计。。。可以试试天盾微信记录导出助手。在每个玩智能手机的人几乎都安装了微信,即使你没用过它,也能感受到它的魅力,因为周边的朋友都在用它!不用你就out啦!最近这两天,我这个数据恢复小能手又遇到了网友的新问题!有网友问如果微信聊天记录删除了怎么恢复,这个工作需要先将微信聊天记录迚行备份才行,再利用微信本身的导入导出功能,就可以将微信聊天记录还原了。

  如何正确计算文本所占字节数

  计算文本(字符串)所占字节数,大家第一个想到的应该就是String类的getBytes()方法,该方法返回的是字符串对应的字节数组,再计算数组的length就能够得到字符串所占字节数。例如:

  public static void main(String []args) {

  // 运行结果:4

  System.out.println("柳峰".getBytes().length);

  }

  上面的示例中计算了两个中文所占的字节数为4,即一个汉字占2个字节。真的是这样吗?其实我们忽略了一个问题:对于不同的编码方式,中文所占的字节数也不一样!这到底要怎么呢?在上面的例子中,我们并没有指定编码方式,那么会使用操作系统所默认的编码方式。先来看我得出的三条结论:

  1)如果上面的例子运行在默认编码方式为ISO8859-1的操作系统平台上,计算结果是2;

  2)如果上面的例子运行在默认编码方式为gb2312或gbk的操作系统平台上,计算结果是4;

  3)如果上面的例子运行在默认编码方式为utf-8的操作系统平台上,计算结果是6;

  如果真的是这样,是不是意味着String.getBytes()方法在我们的系统平台上默认采用的是gb2312或gbk编码方式呢?我们再来看一个例子:

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

  // 运行结果:2

  System.out.println("柳峰".getBytes("ISO8859-1").length);

  // 运行结果:4

  System.out.println("柳峰".getBytes("GB2312").length);

  // 运行结果:4

  System.out.println("柳峰".getBytes("GBK").length);

  // 运行结果:6

  System.out.println("柳峰".getBytes("UTF-8").length);

  }

  这个例子是不是很好地证明了我上面给出的三条结论呢?也就是说采用ISO8859-1编码方式时,一个中/英文都只占一个字节;采用GB2312或GBK编码方式时,一个中文占两个字节;而采用UTF-8编码方式时,一个中文占三个字节。

  微信平台采用的编码方式及字符串所占字节数的计算

  那么,在向微信服务器返回消息时,该采用什么编码方式呢?当然是UTF-8,因为我们已经在doPost方法里采用了如下代码来避免中文乱码了:

  // 将请求、响应的编码均设置为UTF-8(防止中文乱码)

  request.setCharacterEncoding("UTF-8");

  response.setCharacterEncoding("UTF-8");

  同时,我们也发现,如果采用gb2312编码方式来计算getMsgContent()方法返回的文本所占字节数的结果是1365,这就是为什么很多朋友都说微信的文本消息最大长度好像只支持1300多字节,并不是接口文档中所说的2048字节,其实是忽略了编码方式,只是简单的使用了String类的getBytes()方法而不是getBytes("utf-8")方法去计算所占字节数。

  Java中utf-8编码方式时所占字节数的计算方法封装

  /**

  * 计算采用utf-8编码方式时字符串所占字节数

  *

  * @param content

  * @return

  */

  public static int getByteSize(String content) {

  int size = 0;

  if (null != content) {

  try {

  // 汉字采用utf-8编码时占3个字节

  size = content.getBytes("utf-8").length;

  } catch (UnsupportedEncodingException e) {

  e.printStackTrace();

  }

  }

  return size;

  }

  以上就是小编为大家整理的关于如何统计微信聊天字数?微信公众帐号开发之文本消息长度限制的内容。




卖贝商城更多商品介绍:淄博信息港娱乐软文平台投放范例     网易付费企业邮箱    品牌家电网软文投放