精华内容
下载资源
问答
  • 比如ASCII码164对应的字符串,二进制形式:1010 0100. 直接使用强制转换成int再输出16进制话,会得到ffffffa4,这是因为字符最高位1问题。 使用下面这个函数,就可以得到与ASCII码相同值int
    首先,要将char转换成对应的整型大小。比如ASCII码164对应的字符串,二进制形式:1010 0100.
    直接使用强制转换成int再输出16进制的话,会得到ffffffa4,这是因为字符串的最高位1的问题。

    使用下面的这个函数,就可以得到与ASCII码相同值的int

    int getInt(char chVar)
    {
        //将字符串右移7位,观察结果是否为1
        int nVal = chVar>>7;
        //高位为1
        if( -1 == nVal)
        {
            char cTemp = chVar&0x7f; //将高位1变为0
            nVal = (int)cTemp + 128;
        }
        else
        {
        	  nVal = (int)chVar;
        }
        return nVal;
    }

    通过这个方法,可以实现将二进制文件用十六进制输出

    #include <iostream>
    #include <iomanip>
    #include <fstream>
    using namespace std;
    int getInt(char chVar)
    {
        //将字符串右移7位,观察结果是否为1
        int nVal = chVar>>7;
        //高位为1
        if( -1 == nVal)
        {
            char cTemp = chVar&0x7f; //将高位1变为0
            nVal = (int)cTemp + 128;
        }
        else
        {
        	  nVal = (int)chVar;
        }
        return nVal;
    }
    
    int main()
    {
        ifstream inFile;  //文件输入流对象
        string strFilename;
        cout<<"input the file name : ";
        cin>>strFilename;
        cout<<strFilename<<endl;
        inFile.open(strFilename.c_str(),ios::binary|ios::in);   //将文件输入流绑定文件 
        //判断文件是否打开成功
        if (!inFile)
        {
            cerr<<"文件打开失败"<<endl;
        }
        
        //获得文件大小,总字节数
        inFile.seekg(0,ios::end);
        long int nFileLength = inFile.tellg(); 
        inFile.seekg(0,ios::beg);
        long int pos = inFile.tellg();
        cout<<nFileLength<<"字节"<<endl;
        int nCount = 0;
        while(pos <nFileLength)
        {
            char ch;
            inFile.read(&ch,sizeof(char));
            int nTemp = getInt(ch);
            if(nCount%16 == 0)
            {
               cout<<setw(8)<<setfill('0')<<setiosflags(ios::uppercase)<<hex<<nCount<<"   ";  //输出16进
    
    制的地址
            }
            
            cout<<setw(2)<<setiosflags(ios::uppercase)<<hex<<nTemp<<" ";
            if(nCount%16 == 15)
            {
               	cout<<endl;
            }
            ++nCount;
            pos = inFile.tellg();
        }
        cout<<endl;
        return 0;
    }

    效果如图:
    展开全文
  • 1.最近在做16进制文件转换工作,我的操作流程是先生成一段16进制数字, ...3.我知道128之后的ASCII码实际上都不属于国际通用的ASCII码表,所以我现在的问题就是想怎么样能在JAVA中按照扩展的ASCII码表输出我的字符
  • 输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。 Input 输入数据有多组,每组占一行,有三个字符组成,之间无空格。 Output 对于每组输入数据,输出一行,字符中间用一个空格分开。...
  • 这个![图片说明](https://img-ask.csdn.net/upload/202002/27/1582777553_114110.jpg)
  • 输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。 Input 输入数据有多组,每组占一行,有三个字符组成,之间无空格。 Output 对于每组输入数据,输出一行,字符中间用一个空格分开。...
  • 在写C时候遇到一个问题,就是把一串字符ASCII码的形式写入到文件中,当读出来时候却不知道怎么将这些ASCII码再转换为对应的字符串了。 后来查了很久才知道: 先把取出来char型ascii码转换成int类型,用%c...

            在写C的时候遇到一个问题,就是把一串字符以ASCII码的形式写入到文件中,当读出来的时候却不知道怎么将这些ASCII码再转换为对应的字符串了。

    后来查了很久才知道:

    先把取出来的char型ascii码转换成int类型,用%c输出就可以了。
    如:
    char b[ 2 ] [ 3 ] ={"97","98","99","100"}
    int a=(int) b[ 0 ] [ 0 ]
    printf("%c",a);
    结果输出: a

    转载于:https://my.oschina.net/u/3949534/blog/1934534

    展开全文
  • 输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。 Input 输入数据有多组,每组占一行,有三个字符组成,之间无空格。 Output 对于每组输入数据,输出一行,字符中间用一个空格分开。...
  • 比特、字节与ASCII码 首先字符在c++中是怎么保存呢?首先说一下什么是字节,一个字节有8比特,一个比特只有0和1两种取值,所以一个字节可以表示2^8=256种信息。 一般在windows中汉字占两个字节,其他字符占一个字节...

    当我们进行文件操作时,经常需要把文本中的文字读入以进行某些操作,其中最常见的就是读取一个字符并把它保存在一个变量中。


    比特、字节与ASCII码

    首先字符在c++中是怎么保存的呢?首先说一下什么是字节,一个字节有8比特,一个比特只有0和1两种取值,所以一个字节可以表示2^8=256种信息。

    一般在windows中汉字占两个字节,其他字符占一个字节。象数字、英文字母、符号这些加起来总数不是很多,用一个比特显然就够了,但是汉字肯定用一个比特是不行的,所以需要两个字节。最多可以表示2^8*2^8=65536种信息,看起来应该是够用了。字节中字符对应的数字就是ASCII码了。

    实际上所有数字、英文字母、符号这些加起来也没有超过128个,所以为了区分汉字与其他字符,汉字的所有ASCII码都大于128,根据这个我们就可以分辨出我们从文件中读取到底是一个字符还是一个汉字辣!


    一个一个地读取文字

    要想一个一个地读取文件中的文字,需要用到流对象中的get()函数,这个函数没有参数,返回读取当前字符的ASCII码,同时会让读取的位置向后走一位。如果遇到一个汉字,第一次get()函数返回汉字的第一个ASCII码,第二次返回第二个ASCII码,这两个码们都大于128。

    显然我们需要用一个变量把这个get()函数返回值保存下来,我们选择unsigned char型,用char当然也可以,只是大于128的部分都变成了对应的负数。试着输出一下这个变量,会发现小于128的都会输出(有的输出是不可见的),而单个的汉字ASCII码是不显示的,当我们连续输出两个汉字的ASCII码就能看到汉字了。

    如何比较?

    怎么才能知道现在get()返回的是汉字还是字符呢?当然是跟128比较一下大小,直接用unsigned  char是没法比较的,可以这么写int(unsigned char型变量名)就把对应的ASCII码变成数字啦。再跟128比一下就知道是不是汉字了。如果要保存这些字符,也是保存他们的ASCII码,汉字两个,其他字符一个。
    #include<fstream>
    #include<iostream>
    using namespace std;
    ReadTxt(string address) {
    	fstream infile;
    	infile.open(address);//address是文件位置
    	while (!infile.eof())//一直读到文件末尾
    	{
    		unsigned char get1,get2;
    		int a;
    		get1 = infile.get();
    		a = int(get1);
    		if ((get1) > 128)
    			 get2 = infile.get();
    		if ((get1) > 128)
    			cout << get1 << get2 << endl;
    		else
    			cout << get1 << endl;
    		
    	}
    	infile.close();
    }
    
    
    
    
    
    
    
    
    展开全文
  • 题并不难,但是很多同学可能会想不清楚,就是在输出的时候怎么保证排序后的ASCII码跟自己输入的字符进行对应,起初我也担心过,甚至还想过用二维数组,后来觉得自己真的是多此一举。我们可以用字符转ASCII码,那输出...



    今天这道题在难度上最多算两颗星吧。

    开始是把字符转化为ASCII然后将值存在了list里面,用sort()方法对list进行排序,接着再将ASCII码转化为字符进行输出。

    题并不难,但是很多同学可能会想不清楚,就是在输出的时候怎么保证排序后的ASCII码跟自己输入的字符进行对应,起初我也担心过,甚至还想过用二维数组,后来觉得自己真的是多此一举。

    我们可以用字符转ASCII码,那输出的时候再转回来不久完了,何必要求排序的时候就一一对应。

    算法不是很难,没有什么点可以说的,附上代码,大家看一下应该就懂了。

    package com.company;
    
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;
    import java.util.Scanner;
    
    /**
     * @author lidan@meng_zhu
     * @date 2018/5/2 0002 19:34
     */
    public class test01 {
    
        public static void main(String[] args) {
            Scanner text01 = new Scanner(System.in);
           // System.out.println("输入数量");
            int num = text01.nextInt();
            List<Integer> bud = new ArrayList();
            List <Character>  bud1 = new ArrayList();
            for(int i=0;i<num;i++ ) {
                String a = text01.next();
                for(int z=0; z<3;z++){
                    int a1 = (int) a.charAt(z);//转换为ASCII
                    bud.add(a1);
                }
                Collections.sort(bud);
                for (int m = 0; m < bud.size(); m++) {
                    int x = bud.get(m);
                    char x1=(char)x;//讲ASCII转为字符
                    System.out.print(x1+" ");
                }
                bud.clear();//清空一下list
            }
            }
        }
    

    再附一张结果图标识楼主的代码木有问题啊:



    好啦,今天就这样,回家咯~

    展开全文
  • 譬如 #include int main () { char a; scanf ("%c",&a); printf("%d",a);...输出115; 这之后我想把a变成数字 数据类型而a值为115。 不知能否可以办到,突发奇想 。 求大神解答
  • 输入三个字符后,按各字符的ASCII码从小到大的顺序输出这三个字符。 Input 输入数据有多组,每组占一行,有三个字符组成,之间无空格。 Output 对于每组输入数据,输出一行,字符中间用一个空格分开。...
  • 如何用ASCII码表白

    2020-01-14 20:31:00
    **刚好学到了字符流输入输出那块东西,从文本文档里敲入老师课件里东西,控制台 输出了对应数字编码,就萌生了:嗯~可以用来表白小想法,就是把一对酷酷扔 过去,然后让对方用eclipse转出来,呀,想想...
  • C语言ASCII码转汉字方法

    千次阅读 多人点赞 2019-03-03 19:54:44
    说在前头:  之前同学给我发了一个输出彩色心代码,效果如下图。... 在弄懂怎么样设置控制台字符颜色之后,我就对“我喜欢你”这几个汉字起了兴趣,代码中明明没有汉字,那这几个字又是怎么输出的呢?怀揣...
  • 比较的是字符的ASCII码!!! 从字符串左边往右边依次比较, 相等就比较下两个字符, 遇到不相等的两个字符,哪个字符的ASCII码大就是哪个字符串大。 再次强调!与字符串长度无关! 例如: abc = abc ab < abc c ...
  • 字符编码笔记:ASCII,Unicode和UTF-8什么是字符集?计算机发明出来后,科学家们遇到了一个问题,他们不知道该怎么将...读取数据时,同样是查阅字符集得到二进制对应符号,然后将符号输出。这样一个字符集完美构建
  • 通过echo可以输出字符串,下面看一下怎么输出特殊转义字符,首先我先列出来echo转义字符: \\ 输入\ \a 输出警告音 \b 退格,即向左删除一个字符 \c 取消输出行末换行符,和-n选项一致 \e Esc \f ...
  • 2000、开始一直在纠结怎么实现单个字符的输入,找了好久也没有找到java中单个字符输入的方法。最后在别人的代码中学到了这种先输入一个字符串,然后将字符串强制转换为数字,比较之后再强制转换为字符输出的方法。 ...
  • 目前这种写法,java那边接受到还是ascii形式.导致转json失败.请问怎么解决 需要json里是中文形式传输. ensure_ascii=False加了在python那边输出没问题,但是传过去就有问题</p>
  • python中怎么输出双引号

    千次阅读 2020-09-23 16:23:21
    使用转义符输bai出。...所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。 而C中定义了一些字母前加""来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符
  • 要求输出c1和c2值的ASCII码,应该怎么处理? 整型变量与字符变量是否存在任何情况下都可以互相替代? 源代码演示: #include<stdio.h>//头文件 int main()//主函数 { char character_1,character_2;//定义...
  • PTA 字符比较最小字符

    2020-12-19 17:07:20
    所以我以为是最短的字符串,或者是ascii码最小的字符串 本题要求编写程序,针对输入N个字符串,输出其中最小的字符串。 输入格式: 输入第一行给出正整数N;随后N行,每行给出一个长度小于80非空字符串,其中...
  • 要求“雷”位置输出字符ASCII码15),非“雷”位置输出附近有多少颗“雷”,附近无雷不输出。 提示: ① 声明一个9×9二维数组,并将每个元素初始化为0; ② 随机生成10个“雷”:可使用随机函数生成10对...
  • 转义字符

    2020-03-28 22:50:05
    这些不同进制的数字按照字符形式输出,最终都会对应到十进制的ASCII码上。达到各种各样的效果。 但除了原来写的关于它的具体怎么用,还没见到太多,后续再补充咯。 //这个还是属于按照整型输出的 #include<s...
  • a.append(ord(ch.upper())-65) #ord()函数返回ASCii值 upper()将小写转大写Python 列表 append() 方法用于在列表末尾追加新对象。 get_list = a ciphertext = ''; i = 0 for ch in src: # 遍历明文 if ...
  • 汇编语言 十六进制输出

    千次阅读 2020-04-27 10:26:44
    总觉得汇编语言的输出很麻烦,但是目前刚刚开始学,还不清楚怎么化繁为简,输出数字的时候只能根据数字字符的ASCII码输出,不像之前学的其他语言直接控制格式输出就行。 今天写了个汇编语言十六进制输出的作业,...
  • 题目大意:找出给定的字符串中出现次数最多的单词,如果有多个,输出首字符ASCII码最小的单词。这里的单词,是指只含数字和字母字符的字符串。单词之间以非字母和数字字符分开,忽略大小写的差异。 主要考察的是...
  • 输出为1行,输出字符串里面数字字符的个数。 【输入样例】 Peking University is set up at 1898. 【输出样例】 4 这道题难就难在怎么判断数字上 但我们只要用到ASCII码就可以了 在ASCII码中 数字1~9分别对应48 ~57 ...
  • 用来存放将输入的ascii码转换成二进制以便比较结果 COUNT DW 0 ;转换后的二进制数组元素个数计数器 F1 DB 1 ;标记上一个字符是否为空格 F2 DB 0 ;标记在读数字是否有符号 DATAS ENDS STACKS SEGMENT ;此处输入堆栈段...
  • 为什么当我输入一个字符a时候,结果不对,也不知道该怎么改,问题出在哪里?我用是map,柳神用是array. 原题 1042 字符统计(20 分) 请编写程序,找出一段给定文字中出现最频繁那个英文字母。 输入格式: ...
  • ZJGSU OJ 2499 密码情书

    2020-12-07 20:25:50
    编码规则很简单:把英文字符ASCII码的7个有效bit位逆序,比如’B’的ASCII码为66 (1000010),逆序后变为33(0100001)。经过这样的编码,好好的一封情书活生生变成了天书!*&……#@&@# 请你帮帮可怜的女神翻译...

空空如也

空空如也

1 2 3 4
收藏数 70
精华内容 28
关键字:

怎么输出字符的ascii码