草庐IT

$二进制

全部标签

JAVA:从字符串中获取 UTF-8 十六进制值?

我希望能够将原始UTF-8字符串转换为十六进制字符串。在下面的示例中,我创建了一个包含2个字母的示例UTF-8字符串。然后我尝试获取十六进制值,但它给了我负值。我怎样才能让它给我05D0和05D1Stringa="\u05D0\u05D1";byte[]xxx=a.getBytes("UTF-8");for(bytex:xxx){System.out.println(Integer.toHexString(x));}谢谢。 最佳答案 如果您想要代码点,请不要转换为像UTF-8这样的编码。使用Character.codePointAt

java - 即使使用 MathContext 也会出现非终止十进制错误

我正在编写代码来实现这个算法:但是,即使使用MathContext(1000),我也会收到此错误:Exceptioninthread"main"java.lang.ArithmeticException:Non-terminatingdecimalexpansion;noexactrepresentabledecimalresult.atjava.math.BigDecimal.divide(BigDecimal.java:1603)atpicalculator.PiCalculator.calculatePi(PiCalculator.java:59)atpicalculator.P

java:将二进制文件转换为文本?

我编写了这段用于将二进制文件转换为文本的代码。publicstaticvoidmain(Stringargs[])throwsIOException{BufferedReaderb=newBufferedReader(newInputStreamReader(System.in));System.out.println("Enterabinaryvalue:");Stringh=b.readLine();intk=Integer.parseInt(h,2);Stringout=newCharacter((char)k).toString();System.out.println("st

java - 在 java (JSP) 中将十进制 NCR 代码转换为 UTF-8

我试图将FARSI中的字符串解码为UTF-8,但后来我检查了浏览器本身将FARSI字符串转换为十进制NCR代码我如何将十进制NCR代码转换为UTF-8??StringfarMsg="عتباري";StringfinalMsg=newString(farMsg.getBytes(),"UTF-8");System.out.println("\nFarsiMessage\n"+finalMsg);当我尝试使用上面的代码进行转换时,它工作正常但是如果我使用来自JSP页面输入框的相同字符串,它会给我这样的输出عتباري

java - 如何将列值从字符串转换为十进制?

我有一个数据框,其中包含一个非常大的整数值,例如:42306810747081022358当我试图将它转换为long它在Java中工作但不在spark环境下时,我得到了NumberFormatException:Forinputstring("42306810747081022358")然后我尝试将它转换为Decimal(BigDecimal)值。同样,在Java中很容易做到,但在Spark中:dframe.withColumn("c_number",col("c_a").cast(newDecimalType()));这样我就没有得到任何异常,但是我可以看到所有结果值都是空的。我也尝

java - 如何检查文件是否为二进制文件?

我编写了以下方法来查看特定文件是否仅包含ASCII文本字符或除此之外还包含控制字符。您能否浏览一下这段代码,提出改进建议并指出疏忽?逻辑如下:“如果文件的前500个字节包含5个或更多控制字符-将其报告为二进制文件”谢谢。publicbooleanisAsciiText(StringfileName)throwsIOException{InputStreamin=newFileInputStream(fileName);byte[]bytes=newbyte[500];in.read(bytes,0,bytes.length);intx=0;shortbin=0;for(bytethis

java - 使用显式类型转换将十六进制整数转换为字符?

我编写了以下代码,但是o/p不是预期的?有人指导我吗?问题:编写一个示例程序来声明一个十六进制整数并使用显式类型转换将其转换为一个字符?classhexa{publicstaticvoidmain(Stringar[]){inthex=0xA;System.out.println(((char)hex));}}请告诉我:为什么输出有差异/*code1*/inthex=(char)0xA;System.out.println(hex);/*code2*/inthex=0xA;System.out.println((char)hex); 最佳答案

java - 为什么我们有时使用十六进制格式而不是十进制?

我已经阅读了关于的解释inta=0x1;//hexadecimalformat但是,我仍然找不到程序员应该使用0x1、0x2而不是普通整数1或2的原因...有人可以解释一下吗?谢谢。 最佳答案 与十进制相比,人们更喜欢十六进制表示的原因有很多。计算中最常见的是bitfields.一些人已经提到了颜色代码,例如:red=0xFF0000//16711680indecimalgreen=0x00FF00//65280indecimalblue=0x0000FF//255indecimal请注意,这种颜色表示不仅比试图找出像213545这

java - 生成 '1'位比例可变的随机二进制数

我需要一个函数来生成随机整数。(现在假定Javalong类型,但稍后将扩展为BigInteger或BitSet。)棘手的部分是有一个参数P指定结果中任何位为1的(独立)概率。如果P=0.5,那么我们可以只使用标准随机数生成器。P的一些其他值也很容易实现。这是一个不完整的例子:Randomrandom=newRandom();//...longnextLong(floatp){if(p==0.0f)return0L;elseif(p==1.0f)return-1L;elseif(p==0.5f)returnrandom.nextLong();elseif(p==0.25f)returnn

java - 为什么 Java 八进制转义最多只能达到 255?

Java语言规范指出,字符串中的转义符是“正常”的C转义符,例如\n和\t,但他们还指定了\0的八进制转义至\377.具体来说,JLS指出:OctalEscape:\OctalDigit\OctalDigitOctalDigit\ZeroToThreeOctalDigitOctalDigitOctalDigit:oneof01234567ZeroToThree:oneof0123意思是像\4715是非法的,尽管它在Java字符的范围内(因为Java字符不是字节)。为什么Java会有这种随意的限制?你打算如何为超过255个字符指定八进制代码? 最佳答案