zoukankan      html  css  js  c++  java
  • 读取文件中"-1"的问题,要用int类型。

    char类型

    栈空间,遇到-1结束循环。


    int类型则遇到-1不会结束循环。

    4个字节的int。

    每个汉字由两个负数组成。

    映射过去后,-68变成了:256-68=188。

    int类型读过去变成了正数。

    读到-1,不过是255,0xFF。

    0xFF是8个1,不会退出循环,32个1,全是FF才退出循环。

    char类型才是8个1,就结束读取循环。


    汉字的编码问题:

    汉字的ASC值为什么会是负数 - 程序人生,学海无涯 - CSDN博客 https://blog.csdn.net/qincode/article/details/9390939

    汉字存放在计算机中,称为:机内码。
    它和ASCII码,是有根本区别的。
    ASCII码是用来存放阿拉伯数字、英文、符号等等,和汉字,没有一丁点关系。

    “中”的机内码是 D6D0。
    D6D0,当成有符号数,写成十进制数字就是-10544;
    D6D0,当成无符号数,写成十进制数字就是 54992。

    1. 英文标准的ASCII码中只有128个符号,只需要7位,但是计算机分配存储的最基本单位是字节,至少是8位,因此最高位为0;

    2. 因此常见的西文符号的ASCII都是在0-127之间,无论是有符号还是无符号去观察它们,都是正的。

    3. 中文的符号远超过256个,因此用一个字节不能存储汉字,早期的GB2312采用了两个字节。

    4. 但是很麻烦的问题是一个汉字用两个字节存储在计算机中后,和两个西文字母的ASCII混淆,为了避免这个混淆,汉字两个字节的最高位都是1。

    5. 如果用有符号的数去读取一个汉字的内容,最高位的1正好和负号位置相同,因此此时就会发现汉字的内吗是负的。

    汉字的ascii码怎么是负数?_百度知道 https://zhidao.baidu.com/question/342798633.html

  • 相关阅读:
    Table的基本操作
    MySQL数据库基本操作
    jmeter中服务器返回的cookies的查看
    jemeter的乱码问题
    cucumber的报告
    Cucumber的依赖
    idea里maven执行插件pom文件依赖设置
    Tomcat和jenkins的安装
    maven配置
    Ajax必知必会
  • 原文地址:https://www.cnblogs.com/wxl845235800/p/10483852.html
Copyright © 2011-2022 走看看