C++与Java中的Ascii浅谈

         强奸易躲,意淫难防,今天本人就狠狠的被Ascii码狠狠的意淫了一回,不过以后可能也躲不过其中的数学关系,不过我相信有了这个网站,我查码的速度也有了一个好的参照。总感觉最近老是被一些古怪的问题困扰,并且都在实际工作学习中遇到,有的时候只是一个小小的问题,以前根深蒂固的观念没有改变是根本原因。
       下面我用C++和Java中的Ascii的一些对比来进行当Int 转 Char时候需要注意的问题,顺便将我所了解的各种Web编码规范进行列举和分析,希望对大家能够有帮助。
C++ CODE
#include<iostream>
using namespace std;

int main(){
    
    for(int i = 0 ; i < 300 ; i++){
        char c = i;
        cout<<i<<"-"<<c<<"  ";
        if(i % 10 == 0 ){
             if( i != 0){
                 cout<<endl;
             }    
        }    
    }      
    cout<<endl;
    
    int eig = 8;
    int eigs ='0'+ 8;
    cout<<"  普通int转char换::"<<(char)eig<<endl;
    cout<<"非普通int转char换::"<<(char)eigs<<endl;
    
    char eigC = '8';
    char zeroC = '0';
    cout<<"  普通char转int换::"<<(int)eigC<<endl;
    cout<<"  普通char转int换::"<<(int)zeroC<<endl;

    system("pause");
    return 0;
}


Java CODE:

package com.j2me.canvas;
import java.util.Random;
public class IntToChar {
public static void main(String[] args) {
  Random ran = new Random();
  
     for(int i = 0 ; i < 200 ; i++){
         char c = (char)i;
         System.out.print(i + "-" + c + "  ");
         if(i % 10 == 0 ){
              if( i != 0){
                 System.out.println();
              }    
         }    
     }      
     System.out.println();
  
  int number = ran.nextInt(10);     //普通int转char换::
  char x = (char)number;
  System.out.println(x);//出现乱码
  
  int number2 = '0' +ran.nextInt(10);//非普通int转char换::
  char x2 = (char)number2;
  System.out.println(x2);//不出现乱码
  
  char eig = '0';
  System.out.println((int)eig);

}

}


导致这样的原因是Ascii编码的规范是7BIT 而int为32位,在int + char 时候,int 享有更高的优先级,即char自动对照Ascii转为int数值,所以出现了'0'+8这样的例子和场景。
下面我们来看看常用的编码和他们的特点:
未写完的明天添上!!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值