ホームページ  >  記事  >  コンピューターのチュートリアル  >  JAVAを使用して16進数を文字列に変換するにはどうすればよいですか?ありがたい!

JAVAを使用して16進数を文字列に変換するにはどうすればよいですか?ありがたい!

WBOY
WBOY転載
2024-01-16 09:30:14935ブラウズ

JAVAを使用して16進数を文字列に変換するにはどうすればよいですか?ありがたい!

JAVA で 16 進数を文字列に変換する方法を教えてください。ありがとうございます

プライベート静的文字列 hexString = "0123456789ABCDEF";

public static void main(String[] args) {

System.out.println(encode("中文"));

System.out.println(decode(encode("中文")));

}

/*

* 文字列をすべての文字 (中国語を含む) に適した 16 進数にエンコードします。

*/

パブリック静的文字列エンコード(文字列str) {

// デフォルトのエンコーディングに基づいてバイト配列を取得します

byte[] バイト = str.getBytes();

StringBuilder sb = 新しい StringBuilder(bytes.length * 2);

// バイト配列の各バイトを 2 桁の 16 進整数に分解します

for (int i = 0; i

sb.append(hexString.charAt((bytes[i] & 0xf0) >> 4));

sb.append(hexString.charAt((bytes[i] & 0x0f) >> 0));

}

return sb.toString();

}

/*

* 16 進数を文字列にデコードし、すべての文字 (中国語を含む) に適用できます

*/

パブリック静的文字列デコード(文字列バイト) {

ByteArrayOutputStream baos = new ByteArrayOutputStream(bytes.length() / 2);

// 2 桁の 16 進整数をそれぞれ 1 バイトに組み立てます

for (int i = 0; i

baos.write((hexString.indexOf(bytes.charAt(i))

.indexOf(bytes.charAt(i 1))));

新しい文字列を返します(baos.toByteArray());

}

個人テストも可能、中国語もサポート! ! !役に立つ場合は、

を忘れずに採用してください

JAVA はどのようにして 16 進数を ASCII の文字列に変換しますか?

このメソッドを使用して、渡された 16 進数からなる文字列を UTF-8 形式の文字列に変換します。

パブリック静的文字列 toStringHex1(String s) {

byte[] baKeyword = 新しいバイト[s.length() / 2];

for (int i = 0; i ###試す {### baKeyword[i] = (バイト) (0xff & Integer.parseInt(s.substring(

)

i * 2, i * 2 2), 16));

} catch (例外 e) {

e.printStackTrace();

}

}

###試す {###

s = new String(baKeyword, "utf-8");// UTF-16le:Not

} catch (例外 e1) {

e1.printStackTrace();

}

###戻り値;###

}

C言語プログラムで16進数を文字に変換する方法:

あなたの問題は数字を文字に変換することだけだと思いますよね? それなら、全文の複数行のソース コードを作成するのは手伝いません。私は 1 行の変換を行いました。外側にループをネストできます。レイヤーを作成し、2 次元配列を使用して全文複数行 ASCII コード変換を実現します:

#「Stdio.h」を含める

#「Conio.h」を含める

int main(void)

{

int num[10],i=0;

while(getchar() != '\n')

{

getchar();

scanf("%x",&num[i]);

printf("%c",num[i]);

###私 ;###

}

getch();

0を返す;

}

原則は次のとおりです:

毎回の 4 バイトの形式は \xyy の形式です。16 進数を読み取り、scanf("%x",&num[i]); ステートメントを使用するだけです。16 進数は読み取ることができますで、連続する 16 進数をすべてループで取り出して 1 次元配列に格納できます。

出力するのが面倒だったので、直接読み込んで出力しましたが、ここが重要ではなく、printf("%c",num[i]) で出力することが重要です。コンパイラが自動的に16進数をASCIIコードに対応した文字に変換して出力します。

理解できましたか? フォーマットされた入力と出力を使用して 16 進数を読み取り、文字を出力します。 (2 つの getchar() はそれぞれ文字 \ と x を読み取ります~~)

Pythonを使用して16進数のASCコードを文字列表示に変換する方法

#16 進文字を 2 進文字に変換する

def str2byte(s):

base='0123456789ABCDEF'

i=0

s = s.upper()

s1=''

while i c1=s[i]

c2=s[i 1]

i =2

b1=base.find(c1)

b2=base.find(c2)

if b1 == -1 または b2 == -1:

何も返さない

s1 =chr((b1 戻り s1

s = 'C7 EB CE F0 BE C6 BA F3 BC DD B3 B5'.replace (' ', '') #スペースを削除

s1 = str2byte(s)

print s1.decode('gbk') #gbk エンコードでデコードして出力

####結果### #>>>>s1

'\xc7\xeb\xce\xf0\xbe\xc6\xba\xf3\xbc\xdd\xb3\xb5'

#>>>>print s1.decode('gbk')

飲酒運転はしないでください

以上がJAVAを使用して16進数を文字列に変換するにはどうすればよいですか?ありがたい!の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はdocexcel.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。