永发信息网

javascript中如何将获得的整型数值转换为字节数组

答案:2  悬赏:80  手机版
解决时间 2021-03-02 00:09
javascript中如何将获得的整型数值转换为字节数组
最佳答案
ava的数据类型分为三大类,即布尔型、字符型和数值型,而其中数值型又分为整型和浮点型;相对于数据类型,Java的变量类型为布尔型boolean;字符型char;整型byte、short、int、long;浮点型float、double。其中四种整型变量和两种浮点型变量分别对应于不同的精度和范围。此外,我们还经常用到两种类变量,即String和Date。对于这些变量类型之间的相互转换在我们编程中经常要用到,下面是几种相互转化的关系:
一、 整型、实型、字符型变量中的相互转换
在Java中整型、实型、字符型被视为同一类数据,这些类型由低级到高级分别为(byte,short,char)——int——long——float——double,低级变量可以直接转换为高级变量,例如,下面的语句可以在Java中直接通过:
byte b;
int i=b;
而将高级变量转换为低级变量时,情况会复杂一些,你可以使用强制类型转换。即你必须采用下面这种语句格式:
int i;
byte b=(byte)i;
可以想象,这种转换肯定可能会导致溢出或精度的下降,因此我们并不推荐使用这种转换。
二、Java的包装类
在我们讨论其它变量类型之间的相互转换时,我们需要了解一下Java的包装类,所谓包装类,就是可以直接将简单类型的变量表示为一个类,在执行变量类型的相互转换时,我们会大量使用这些包装类。Java共有六个包装类,分别是Boolean、Character、Integer、Long、Float和Double,从字面上我们就可以看出它们分别对应于 boolean、char、int、long、float和double。而String和Date本身就是类。所以也就不存在什么包装类的概念了。
三、简单类型变量和包装类之间的相互转换
简单类型的变量转换为相应的包装类,可以利用包装类的构造函数。即:
Boolean(boolean value)、Character(char value)、Integer(int value)、Long(long value)、Float(float value)、Double(double value)
而在各个包装类中,总有形为××Value()的方法,来得到其对应的简单类型数据。利用这种方法,也可以实现不同数值型变量间的转换,例如,对于一个双精度实型类,intValue()可以得到其对应的整型变量,而doubleValue()可以得到其对应的双精度实型变量。
四、String类和其它数据类型的相互转换
对于上面的这些包装类,除了Character以外,都有可以直接使用字符串参数的构造函数,这也就使得我们将String类转换为这些数据类型变得相当之简单,即:
Boolean(String s)、Integer(String s)、Long(String s)、Float(String s)、Double(String s)
而将String类转换为Date类也可以使用这样的构造函数:Date(String s)
现在我们还剩下一个字符型变量,事实上String类可以理解为一个char型数组,因此我们可以在String类中找到这样的方法来实现这种转换:charAt(int index)可以得到String类中某一位置上的字符,toCharArray()更可以将整个String类转换成一个char的数组。
对于所有的包装类都存在一个名为toString()的方法可以将其转换成对应的String类,而对于整型类和长整型类,还可以使用toBinaryString(int i)、toHexString(int i)、toOctalString(int i)分别以二进制、十六进制和八进制的形式进行到String类的转换。
五、将字符型直接做为数值转换为其它数据类型
将字符型变量转换为数值型变量实际上有两种对应关系,在我们在第一部分所说的那种转换中,实际上是将其转换成对应的ASCII码,但是我们有时还需要另一种转换关系,例如,‘1’就是指的数值1,而不是其ASCII码,对于这种转换,我们可以使用Character的getNumericValue(char ch)方法。
六、Date类与其它数据类型的相互转换
整型和Date类之间并不存在直接的对应关系,只是你可以使用int型为分别表示年、月、日、时、分、秒,这样就在两者之间建立了一个对应关系,在作这种转换时,你可以使用Date类构造函数的三种形式:
Date(int year, int month, int date):以int型表示年、月、日
Date(int year, int month, int date, int hrs, int min):以int型表示年、月、日、时、分
Date(int year, int month, int date, int hrs, int min, int sec):以int型表示年、月、日、时、分、秒
在长整型和Date类之间有一个很有趣的对应关系,就是将一个时间表示为距离格林尼治标准时间1970年1月1日0时0分0秒的毫秒数。对于这种对应关系,Date类也有其相应的构造函数:Date(long date)
获取Date类中的年、月、日、时、分、秒以及星期你可以使用Date类的getYear()、getMonth()、getDate()、getHours()、getMinutes()、getSeconds()、getDay()方法,你也可以将其理解为将Date类转换成int。
而Date类的getTime()方法可以得到我们前面所说的一个时间对应的长整型数,与包装类一样,Date类也有一个toString()方法可以将其转换为String类。
解决方法是在输入后放一层过滤器转码,输出时在放一个另一个过滤器,这样,每当有其他移植时,直接改变过滤器的代码就可以了。
过滤器代码如下
public static String SyConvertCode(String tempSql){
if (tempSql==null)
tempSql="";
else
tempSql = tempSql.trim();
String returnString = tempSql;
try{
// byte[] ascii=returnString.getBytes("GBK");
// returnString =new String(ascii,"ISO-8859-1");
byte[] ascii=returnString.getBytes("ISO-8859-1");
returnString =new String(ascii,"GBK");
}catch(Exception e){
e.printStackTrace();
}
return returnString;
}
全部回答
function Value2Bytes(str) { str = parseInt(str); str = str.toString(16); var pos = 0; var len = str.length; if(len %2 != 0) { str = "0" + str; } len /= 2; var hexA = new Array(); for(var i=0; i<len; i++) { var s = str.substr(pos, 2); var v = parseInt(s, 16); hexA.push(v); pos += 2; } return hexA; }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
主的爱不离不弃在基督教的哪个歌本里
包头北辰饲料地址在哪,我要去那里办事
存货用于继续加工产品该怎么样计提改存货的减
四月初二是什么星座
中国邮政(务本邮电所)这个地址在什么地方,我
下列哪一个城市既是鸦片战争后第一批开放的通
完形填空OnahotsummerdayinlateAugust,Isough
制作人用英语怎么说
北京南苑机场距离华北科技学院有多少公里???
考研的话,山东师范大学的有机化学怎么样?
每年工资大概五万适合买二十万左右的车吗,
【什么是五位一体】...就要统筹推进‘五位一
插花岭下在什么地方啊,我要过去处理事情
从文安到北京大巴多少钱
棱长是多少的正方体盒子容量为1升
推荐资讯
某同学正在观察爸爸买回的一条活鲤鱼,他把观
急求一首情侣诗,藏头诗要包含小笨蛋爱大笨蛋
幼儿园迎国庆体智能活动总结
作文《无法兑现的承诺》
长沙市开福区棚户区改造办公室在什么地方啊,
合肥滨湖职业技术学院学费多少?能上不?我被
男朋友是尊重我,还是什么呢?
枣庄市市中区黄庄供销合作社地址在哪,我要去
祥符区中国工商银行股份有限公司开封祥符大道
放名字 火字旁 有什么字好 这字放名字中间的
鬼步舞怎么跳!谢谢了,大神帮忙啊
轻藐的近义词是什么
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?