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

读取文件中"-1"的问题,要用int类型。的更多相关文章

  1. IO流的练习5 —— 读取文件中的字符串,排序后写入另一文件中

    需求:已知s.txt文件中有这样的一个字符串:“hcexfgijkamdnoqrzstuvwybpl” 请编写程序读取数据内容,把数据排序后写入ss.txt中. 分析: A:读取文件中的数据 B:把数 ...

  2. Python 读取文件中unicode编码转成中文显示问题

    Python读取文件中的字符串已经是unicode编码,如:\u53eb\u6211,需要转换成中文时有两种方式 1.使用eval: eval("u"+"\'" ...

  3. json数据处理:读取文件中的json字符串,转为python字典

    方法1: 读取文件中的json字符串, 再用json.loads转为python字典 import json str_file = './960x540/config.json' with open( ...

  4. 利用PushbackReader读取文件中某个字符串之前的内容

    package File; import java.io.FileReader; import java.io.IOException; import java.io.PushbackReader; ...

  5. shell awk读取文件中的指定行的指定字段

    1.awk功能和实用形式 awk指定读取文件中的某一行的某个字段 awk      可以设置条件来输出文件中m行到n行中每行的指定的k字段,使用格式如下 awk    'NR==m,NR==n {pr ...

  6. C语言 读取文件中特定数据

    //读取文件数据 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> struct jia ...

  7. Jmeter读取文件中的值《一》

    此篇主要是对应上一章节的呼应,上一篇中讲到将返回值写入文件,这个值如果在下一个接口中用到, 那么我们需要去从文件中读取数据,这是我们该如何操作? 一.测试计划中添加CSV Data Set Confi ...

  8. 学习:erlang读取文件中的terms

    参考:http://diaocow.iteye.com/blog/1766128 1. file:consult(Filename) -> {ok, Terms} | {error, Reaso ...

  9. C# 读取文件中的sql语句 创建数据库以及表结构

    大概思路是: 读取文件 根据文件中行内容为GO 作为分割  一条条放到list中 然后在程序中逐条执行sql语句; 值得一提的是 创建数据库的语句是不允许放到程序事务中执行的 所以目前我是分了两个文本 ...

  10. 在java中读取文件中的内容

    package shi; import java.io.*; public class wenjianIO { public static void main(String agrs[]){ File ...

随机推荐

  1. java中的设计模式一 装饰模式

    1.装饰模式(Decorator)的定义:又名包装(Wrapper)模式,装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案. 2.装饰模式以对客户端透明的方式动态的给一个对象附加上 ...

  2. PostgreSQL ALTER TABLE中改变数据类型时USING的用法<转>

    在修改表字段类型的时候使用Using来进行显示的转换类型. 原文说明: SET DATA TYPE  This form changes the type of a column of a table ...

  3. Android——程序员的情怀——优化BaseAdapter

    总结: 1- 在MainActivity中只放数据,加载适配器 2- 单独定义实体类 3- 自定义适配器,并与实体类相关联,在适配器里写优化的代码将视图与数据相关联 MainActivity 2- N ...

  4. destoon 添加一个新的模块

    根目录rename,中config.inc.php文件/module/rename下两个文件,my.inc.php ,rename.class.php/module/rename/admin/三个文件 ...

  5. Nginx优化(十七)

    [教程主题]:Nginx优化 [课程录制]: 创E [主要内容] Nginx 优化 nginx介绍 Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”,是 ...

  6. strtok的基本使用方法

    理论知识自己能够百度这里直接上代码 代码的内容是 HDU(杭电)-1106-排序 排序 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 655 ...

  7. 【linux】——ubuntu12.04 下安装wine和wine乱码解决方案

    ————————安装最新ppa的wine———————— sudo add-apt-repository ppa:ubuntu-wine/ppa sudo apt-get update sudo ap ...

  8. 【oneday_onepage】——美国主食吃什么

    Cocktail 鸡尾酒 It is quite usual to drink cocktails before lunch and dinner in America and somewhat le ...

  9. 解决同时共用MOB公司的shareSDK和SMSSDK的冲突问题

    现在mob的SDK版本升级到3.0,跟之前的版本不兼容,尤其是在 同时使用shareSDK和SMSSDK的时候会发生冲突,报NoSuchMethodException的错误. 只需要将所有的jar包和 ...

  10. 漂亮的圆角文本框 CSS3实现

    进入人人小站发现了个挺好看的文本框,圆角的,原来是利用了CSS3的效果,不过暂时只有IE9 和FF浏览器支持. <html xmlns="http://www.w3.org/1999/ ...