Java16进制转换

JAVA实现音频采样率转换 JAVA实现音频采样率转换JAVA实现音频采样率转换 JAVA实现音频采样率转换 该转换是针对位深为8位的pcm数据,如果需要改成16位则需要自己手动修改(ps:目标长度也需要改,采用js的dataview则可以不用考虑此问题) /** * 线性转换采样率 * @param src * @param srcSampleRate * @param destSampleRate * @return */ public static by 阅读详情
  1. 从字符串到字节数组是很简单的。比如,字符串为String s="abcde";那么对应的字节数组为:byte[] b=s.getBytes();
  2. 从字节数组到其对应的16进制字符串,需要用到Integer.toHexString(b[i])这个方法对字节数组的每个字节做相应的16进制串转换,然后合起来就是16进制字符串。当然转换成对应的2进制,8进制需要用Integer.toBinaryString(b[i]),等,查下API就行了。这里要说明一下,一个字节占8位,长度为1,而做16进制字符串转换的时候,每4位组成一个16进制的基数,那么得到的16进制字符串长度就变为原来字节数组的2倍。
  3. 16进制字符串转变成字节数组很简单。同1。注意这里16进制字符串的字节数组长度是原字节数组的2倍。
  4. 16进制字符串的字节数组还原成原来本身字符串。这里要在16进制字符串的字节数组上取两两一组合并成一个字节,需要调用(byte) Integer.parseInt(item, 16)方法,其中item就是每个组。写成一个方法如下:                public static byte[] hex2byte(byte[] b) {//这里b是16进制字符串的字节数组

        if ((b.length % 2) != 0)
            throw new IllegalArgumentException("长度不是偶数");
        byte[] b2 = new byte[b.length / 2];
        for (int n = 0; n < b.length; n += 2) {
            String item = new String(b, n, 2);
            // 两位一组,表示一个字节,把这样表示的16进制字符串,还原成一个进制字节
            System.out.println(item);
            b2[n / 2] = (byte) Integer.parseInt(item, 16);
            System.out.println(b2[n / 2]);
        }
       return b2;
    }

最后用String m= new String(hex2byte(byte[] b));得到原来的字符串。

完整程序:


public class getbyte {
 
    public static byte[] hex2byte(byte[] b) {
        if ((b.length % 2) != 0)
            throw new IllegalArgumentException("长度不是偶数");
        byte[] b2 = new byte[b.length / 2];
        for (int n = 0; n < b.length; n += 2) {
            String item = new String(b, n, 2);
            // 两位一组,表示一个字节,把这样表示的16进制字符串,还原成一个进制字节
            System.out.println(item);
            b2[n / 2] = (byte) Integer.parseInt(item, 16);
            System.out.println(b2[n / 2]);
        }
       return b2;
    }

 public static void main(String[] args){
  
  String s="abcde";
  String s2="";
  String hex="";
  String test="";
  byte[] bt=s.getBytes();
  for(int i=0;i<bt.length;i++){
   
   test=Integer.toBinaryString(bt[i]);
   System.out.println(test);
   hex=Integer.toHexString(bt[i]);
   System.out.println(hex);
   s2+=hex.toUpperCase();
//   System.out.println(s2);
  }
//  hex.toUpperCase();
  System.out.println("s的字节数组长度为: "+bt.length);
//  System.out.println(bt.toString());  
  System.out.println("16进制的S窜: "+s2);
  System.out.println("16进制的S窜长度为: "+s2.length());
  
  String s3=(String)hex2byte(s2.getBytes()).toString();
  System.out.println("16进制的S窜转换为字节数组长度为: "+s2.getBytes().length);
  
  
  String m= new String(hex2byte(s2.getBytes()));
  System.out.println("16进制的S窜转换为字节数组,有成为原字符串:  "+m);  

  
  
 }
}

本帖来源于:http://liyablog.blog.hexun.com/31179355_d.html

更多帮助:http://cst21cn.5d6d.com

16K 16BIT双声道文件格式解析 在本文中详细介绍了16K 16BIT双声道的文件格式,并进行了举例说明。图文并茂,希望对读者朋友们有所帮助。 阅读详情

相关推荐

javaCV开发详解之8:转封装在rtsp转rtmp流中的应用(无须转码,更低的资源消耗)

javaCV系列文章: javacv开发详解之1:调用本机摄像头视频 javaCV开发详解之2:推流器实现,推本地摄像头视频到流媒体服务器以及摄像头录制视频功能实现(基于javaCV-FFMPEG、javaCV-openCV) javaCV开发详解之3:收流器实现,录制流媒体服务器的rtsp/rtmp视频文件(基于javaCV-FFMPEG) javaCV开发详解之4:转流器实现(也可作...

eguid音视频方向博客,分享经过实践检验的硬核音视频技术。FFmpeg、openCV和JavaCV音视频和图像处理系列教程发布十周年,众多开发者的严格验证。欢迎关注,一起交流探索学习最新音视频和图像处理技术 2万+

JAVA十六进制数据转换

Java 自带进制转换

废墟中的猫 4433

抖音直播“卡黑屏”技术解析:从实现原理到平台风控与合规运营

在直播技术领域,视频流推送与实时互动是核心基础。其原理在于通过编码软件(如OBS)将音视频数据封装后,经由网络协议推送到服务器,再分发给观众。这项技术的价值在于支撑了实时、高并发的在线互动场景,是直播、在线会议等应用的基石。然而,在追求流量和互动的实践中,衍生出一些非常规操作,例如通过技术手段中断或控制视频流推送,仅保留音频和互动功能,以达到特定运营目的。这便涉及到了**卡黑屏**这一具体现象。它本质上是对直播流的人为干预,常与**流量博弈**和**风险规避**等动机相关联。从工程实践角度看,实现方式多样,

weixin_29895109的博客 1300

JAVA中十六进制转换

1.十进制转十六进制字符串 /** * 十进制转十六进制字符串 * @param param 十进制参数 * @return 十六进制字符串 */ private static String intToHex(int param){ String result = Integer.toHexString(param); return result.length()%2==1?"0"+result:result; } ...

qq_35796004的博客 9355

阿里云天池大数据长期赛:金融风控-贷款违约预测(含代码)

本次比赛让自己在大数据的处理流程上有了更明确的认知,从数据清洗、特征工程、数据建模,每一个过程都能学到很多经验和知识,值得去历练。

weixin_46685991的博客 1万+

别再混淆了!深入浅出图解四元数姿态控制中的‘误差四元数’(附四种定义对比与仿真)

本文深入解析四元数姿态控制中的误差四元数定义差异,对比四种常见定义(如Q₀∘Q⁻¹与Q⁻¹∘Q₀)及其对PD控制性能的影响。通过刚体动力学仿真验证,揭示定义二(Q⁻¹∘Q₀)在无人机和航天器控制中的最优性能,提供工程实践建议与参数整定技巧,帮助开发者避免常见陷阱并提升控制效率。

weixin_42528191的博客 277

PrintStream 打印流、System 剖析、Java 16 进制转换

目录 Java 16 进制转换 java.lang.String 剖析 Java 16 进制转换 package com.lct.quickstart; import java.util.Arrays; /** * Created by Administrator on 2019/1/16 0016. */ public class DataTypeConvertUtils { ...

蚩尤后裔-汪茂雄 1563

AHP层次分析法在项目风险评估中的实战应用(含Excel模板)

本文详细介绍了AHP层次分析法在项目风险评估中的实战应用。通过构建风险层次模型、利用判断矩阵量化主观判断,并结合Excel工具进行权重计算与一致性检验,将模糊的定性风险转化为清晰的量化排序。文章以新产品上线项目为例,提供了完整的分析流程和可操作的Excel模板,帮助项目经理高效识别并优先处理核心风险。

weixin_29061465的博客 570

java 16进制位移_java字节、位移以及进制转换

数据存储方式众所周知,java中的数据都是以二进制的形式存储在计算机中的,但是我们看到的数据怎么是10进制的,因为java提供了很多进制自动转换的方式。位移向左位移是*2的幂次,一般都是正数操作,右侧补0,所以不存在有符号左位移向右位移会存在负数,所以存在有符号和无符号右移的问题,左侧补0.public class Binary {public static void main(String[] ...

weixin_33806591的博客 844

SimpleITK图像基础(一)——3D Resampling

文章目录前言基于SimpleITK进行实现 前言 进入深度学习网络之前需要进行统一数据集,这个时候需要对这些数据集进行重新采样,即假设各向同性体素并重新定向它们,以便可以读取所有图像的像素矩阵。 在将方位变换成一致时,可以用DICOMOrientImageFilter过滤器,可以将 DesiredCoordinateOrientation设置为你想要变换的方位,它将计算出所需的置换顺序并根据需要执行翻转以接近所需方向。 基于SimpleITK进行实现 workflow如下: step 1:首先运行DICOM

YYY_77的博客 2019

AI智算-K8s如何利用IB RDMA网络加速大模型分布式训练

在AI人工智能领域,大模型的微调是提升性能不可或缺的一环。通过结合InfiniBand RDMA网络的高速互联、Kubernetes的云原生容器化部署,以及智能算力调度平台,可以打造一个高效、灵活且可扩展的分布式训练环境。

Kason_iWiki 816

java16进制转换为8进制

Java进制转换,蓝桥杯

qq_56318151的博客 2366

16进制转string java_java的2/10/16进制转换和字符串数字转换

十进制转成十六进制:Integer.toHexString(int i)十进制转成八进制Integer.toOctalString(int i)十进制转成二进制Integer.toBinaryString(int i)十六进制转成十进制Integer.valueOf("FFFF",16).toString()八进制转成十进制Integer.valueOf("876",8).toString()二进...

weixin_39551188的博客 157

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

java实现10进制转换16_java 10进制和16进制的相互转换

16进制转10进制思路:求得每一位对应的16的幂,然后乘以这一位的数值,然后把求得的乘积相加import java.util.*;public class Main {public static void main(String[] args) {Scanner sc=new Scanner(System.in);while(sc.hasNext()){String hex=sc.next().s...

weixin_42516710的博客 1222

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Android 进制转换及超长数据的进制bina、hex、dec二进制、十进制、16进之间的转换 java.lang.NumberFormatException: For input string:

用Integer.parseInt(hex, 16)转换非常长的数据时,会报错; 原因是因为:Integer在32位的编译环境下,存储长度为32位。即-231~231-1; 即-2,147,483,648~2,147,483,647,此时将Integer换成BigInteger类型,问题解决 解决长数据类型之间的进制转换问题: String a=new BigInteger(hex,16).toS...

简公子的博客 922

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

java16进制转换为二进制

16进制转换为二进制

随风飘雁 1万+

java com串口 16进制_Java串口开发 进制转换

串口开发都是和C语言写的下位机配套,C语音有UInt16、Int16、UInt8、UInt32等数据类型,涉及到负数的时候,如Int8,Int16,Int32等数据类型和Java转换会出现一些问题1.如果是UInt16 用的是16位的寄存器下面得到16位的16进制字符串,这里说的16进制字符串例如:FF 0F FF 01的字符串是"FF0FFF01"public static String ge...

weixin_29061041的博客 564

java实现10进制转换16_java实现的进制转换(2to10,10to2,16to10,10to16)

public classNumSystemSwitch {public String numStr = "0123456789abcdef";//2进制转换成 10进制 -->有点重复public int twoToTen(inttwoNum) {int tenNum=0,twoN=1;while (twoNum/10!=0) {tenNum+=(twoNum%10*twoN);twoN...

weixin_42122881的博客 324

Java 将16进制转换为二进制

将16进制转换为二进制

weixin_37077736的博客 1371

java 16进制转换为String

数组相关视频讲解:数组-Go代码演示数据结构与算法-栈-Go代码演示版Java 16进制转换为String教程 前言 作为一名经验丰富的开发者,我们经常需要进行不同进制间的转换操作。今天,我将向你展示如何将Java中的16进制转换为String。这对于刚入行的小白来说可能有些困难,但我会一步一步地教你如何实现这一操作。...

weixin_40246948的博客 549

java byte 16_java byte 16进制转换

整型转16进制:int devIdInt = Integer.parseInt(devId);String devIdString = Integer.toHexString(devIdInt);16进制转为字节:byte devBin = (byte) Integer.parseInt(devIdString, 16);byte devBin =Integer.valueOf(devIdStri...

weixin_39634576的博客 181

java 16进制转换为10进制

进制转换

m0_58481573的博客 2209

使用Java将颜色的10进制转换16进制

颜色的10进制转换16进制使用java将颜色10进制转换16进制 使用java将颜色10进制转换16进制 Color color = new Color(userFontColor); //10进制的数字颜色 String red = (String.valueOf(Integer.toHexString(color.getRed())).length()>1 ? "":"0") + Integer.toHexString(color.getRed()); String green = (St

jia14的博客 681
上一篇: @SuppressWarnings(unchecked)作用…
下一篇: 解决IE8开发人员工具不能使用的问…
jarry.liu
博客等级 码龄16年 36粉丝 304原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jarry.liu

如果对您有帮助,鼓励下博主吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值