zoukankan      html  css  js  c++  java
  • 字符编码中的英文字母、汉字占有的字节长度。

    ASCII方式:一个英文字母占一个字节,不能保存汉字;

    UTF8方式:一个英文字母占一个字节,一个汉字占三个字节;

    unicode方式:一个英文字母和一个汉字都占两个字节。

    基于TCP的Socket服务端:

    1、客户端以UTF8编码发送数据,假如发送的数据是汉字的情况下

    服务端进行接收的时候,接收的缓冲区的长度必须至少大于等于3个字节。
    byte[] buffer = new byte[length] // length的长度>=3

    2、客户端以unicode编码发送数据,假如发送的数据是汉字的情况下
    服务端进行接收的时候,接收的缓冲区的长度必须至少大于等于2个字节
     byte[] buffer = new byte[length]  // length的长度>=2


    socket编程中接收的信息出现乱码和不全的情况,有相当部分原因是这方面引起的。
  • 相关阅读:
    stack 栈
    链表
    2018.09.08 DL24 Day1 总结
    10.07 WZZX Day2总结
    10.06 WZZX Day1总结
    Joseph问题 (线段树)
    [POI2006]TET-Tetris 3D
    10.05FZSZ Day2模拟总结
    Tarjan求LCA
    数据结构
  • 原文地址:https://www.cnblogs.com/frustrate2/p/3314944.html
Copyright © 2011-2022 走看看