代理ip

>

换ip软件

>

http代理

>

ip代理

您的位置:首页 > 新闻资讯 > 文章内容
ip4如何转ip6
来源: 作者:admin 时间:2019-03-12 19:26:12

public static void main(String[] args) {

String ip4="192.168.0.168";//是由十进制组成(32位二进制组成)

String ip6="";

//ip6一般是有8组数的16进制数组成-(128位二进制组成)

//::代表前面的数全部是0

//ip4已经是32位了,在它前面再加上96位二进制就变为了ip6地址格式了,所以ip6的前96位全部可以为0表示也就是(::)

String ip1="::192.168.0.168";//现在只需把192.168.0.168变为16进制即可--ip6地址每个冒号间是一个16位的二进制,而ip4一个点号之间是八位的二进制数,所以两个逗号变为一个冒号

//变为如下格式

String ip2="::[192][168]:[0][168]";//现在只需要把中括号的变为十六进制就可以了

String str1="";//为[192][168]的十六进制

String str2="";//为[0][168]的十六进制

String [] arrayIp=ip4.split("\\.");//

if(arrayIp!=null && arrayIp.length>0){

for(int i=0;i<arrayIp.length;i++){

if(i==0){

int sz=Integer.parseInt(arrayIp[i]);

if(sz==0){

str1="00";

}else if(0<sz && sz<16){

if(0<(sz%16) && (sz%16)<=9){

str1="0"+sz;

}else{

if(sz==10){

str1="0A";

}else if(sz==11){

str1="0B";

}else if(sz==12){

str1="0C";

}else if(sz==13){

str1="0D";

}else if(sz==14){

str1="0E";

}else if(sz==15){

str1="0F";

}

}

}else{

String a0="";//前一个数

String a1="";//后一个数

//因为ip4最大的数字是0-255

a0=(sz/16)+"";//第一个数等于除数

a1=(sz%16)+"";//第二个数等于余数

if("10".equals(a0)){

a0="A";

}else if("11".equals(a0)){

a0="B";

}else if("12".equals(a0)){

a0="C";

}else if("13".equals(a0)){

a0="D";

}else if("14".equals(a0)){

a0="E";

}else if("15".equals(a0)){

a0="F";

}

if("10".equals(a1)){

a0="A";

}else if("11".equals(a1)){

a0="B";

}else if("12".equals(a1)){

a0="C";

}else if("13".equals(a1)){

a0="D";

}else if("14".equals(a1)){

a0="E";

}else if("15".equals(a1)){

a0="F";

}

str1=a0+a1;

}

}else if(i==1){

int sz=Integer.parseInt(arrayIp[i]);

if(sz==0){

str1=str1+"00";

}else if(0<sz && sz<16){

if(0<(sz%16) && (sz%16)<=9){

str1=str1+"0"+sz;

}else{

if(sz==10){

str1=str1+"0A";

}else if(sz==11){

str1=str1+"0B";

}else if(sz==12){

str1=str1+"0C";

}else if(sz==13){

str1=str1+"0D";

}else if(sz==14){

str1=str1+"0E";

}else if(sz==15){

str1=str1+"0F";

}

}

}else{

String a0="";//前一个数

String a1="";//后一个数

//因为ip4最大的数字是0-255

a0=(sz/16)+"";//第一个数等于除数

a1=(sz%16)+"";//第二个数等于余数

if("10".equals(a0)){

a0="A";

}else if("11".equals(a0)){

a0="B";

}else if("12".equals(a0)){

a0="C";

}else if("13".equals(a0)){

a0="D";

}else if("14".equals(a0)){

a0="E";

}else if("15".equals(a0)){

a0="F";

}

if("10".equals(a1)){

a0="A";

}else if("11".equals(a1)){

a0="B";

}else if("12".equals(a1)){

a0="C";

}else if("13".equals(a1)){

a0="D";

}else if("14".equals(a1)){

a0="E";

}else if("15".equals(a1)){

a0="F";

}

str1=str1+a0+a1;

}

}else if(i==2){

int sz=Integer.parseInt(arrayIp[i]);

if(sz==0){

str2="00";

}else if(0<sz && sz<16){

if(0<(sz%16) && (sz%16)<=9){

str2="0"+sz;

}else{

if(sz==10){

str2="0A";

}else if(sz==11){

str2="0B";

}else if(sz==12){

str2="0C";

}else if(sz==13){

str2="0D";

}else if(sz==14){

str2="0E";

}else if(sz==15){

str2="0F";

}

}

}else{

String a0="";//前一个数

String a1="";//后一个数

//因为ip4最大的数字是0-255

a0=(sz/16)+"";//第一个数等于除数

a1=(sz%16)+"";//第二个数等于余数

if("10".equals(a0)){

a0="A";

}else if("11".equals(a0)){

a0="B";

}else if("12".equals(a0)){

a0="C";

}else if("13".equals(a0)){

a0="D";

}else if("14".equals(a0)){

a0="E";

}else if("15".equals(a0)){

a0="F";

}

if("10".equals(a1)){

a0="A";

}else if("11".equals(a1)){

a0="B";

}else if("12".equals(a1)){

a0="C";

}else if("13".equals(a1)){

a0="D";

}else if("14".equals(a1)){

a0="E";

}else if("15".equals(a1)){

a0="F";

}

str2=a0+a1;

}

}else if(i==3){

int sz=Integer.parseInt(arrayIp[i]);

if(sz==0){

str2=str2+"00";

}else if(0<sz && sz<16){

if(0<(sz%16) && (sz%16)<=9){

str2=str2+"0"+sz;

}else{

if(sz==10){

str2=str2+"0A";

}else if(sz==11){

str2=str2+"0B";

}else if(sz==12){

str2=str2+"0C";

}else if(sz==13){

str2=str2+"0D";

}else if(sz==14){

str2=str2+"0E";

}else if(sz==15){

str2=str2+"0F";

}

}

}else{

String a0="";//前一个数

String a1="";//后一个数

//因为ip4最大的数字是0-255

a0=(sz/16)+"";//第一个数等于除数

a1=(sz%16)+"";//第二个数等于余数

if("10".equals(a0)){

a0="A";

}else if("11".equals(a0)){

a0="B";

}else if("12".equals(a0)){

a0="C";

}else if("13".equals(a0)){

a0="D";

}else if("14".equals(a0)){

a0="E";

}else if("15".equals(a0)){

a0="F";

}

if("10".equals(a1)){

a0="A";

}else if("11".equals(a1)){

a0="B";

}else if("12".equals(a1)){

a0="C";

}else if("13".equals(a1)){

a0="D";

}else if("14".equals(a1)){

a0="E";

}else if("15".equals(a1)){

a0="F";

}

str2=str2+a0+a1;

}

}


}

}

ip6="::"+str1+":"+str2;

}


相关文章内容简介
推荐阅读