IT/development

[Java] Java String convert to byte[], byte[] convert to String

์•Œ ์ˆ˜ ์—†๋Š” ์‚ฌ์šฉ์ž 2022. 11. 23.

๋ชฉ์ฐจ

    Java String convert to byte[], byte[] convert to String

    java์—์„œ ๋ฌธ์ž์—ด์„ byte[]๋กœ ๋ณ€ํ™˜ํ•˜๊ณ  ๋ฐ˜๋Œ€๋กœ byte[]๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•ด์•ผ ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ข…์ข… ์ƒ๊ธด๋‹ค.

    ๋งŒ์ผ DB ํ…Œ์ด๋ธ”์ด ํ•œ๊ธ€์„ ์ง€์›ํ•˜์ง€ ์•Š๋Š” charset์ธ ๊ฒฝ์šฐ DBํ…Œ์ด๋ธ”์˜ charset์— ๋งž๊ฒŒ ์ธ์ฝ”๋”ฉํ•˜์—ฌ ์ˆซ์ž๋กœ ์ €์žฅ ํ›„ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ค„ ๋•Œ๋Š” ๋””์ฝ”๋”ฉํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฌธ์ž์—ด ์•”ํ˜ธํ™” ๋“ฑ์—๋„ ์“ฐ์ด๋Š”๋ฐ ๊ทธ ๋ฐฉ๋ฒ•์„ ๊ธฐ๋กํ•œ๋‹ค.

     

    String convert to byte[]๐Ÿ˜„

    .getBytes() ๋ฉ”์„œ๋“œ ์ด์šฉ

    .getBytes()์— ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์•„๋ฌด๊ฒƒ๋„ ์•ˆ ๋„ฃ์œผ๋ฉด ๊ธฐ๋ณธ๊ฐ’ charset์ด ์‚ฌ์šฉ๋จ

    .getBytes("UTF-*8"); ์ด๋Ÿฐ์‹์œผ๋กœ ๋งค๊ฐœ๋ณ€์ˆ˜์— charset ์„ค์ • ์‹œ ํ•ด๋‹น charset์œผ๋กœ ์ธ์ฝ”๋”ฉ๋˜๋Š”๋ฐ ์ด ๋•Œ๋Š” ๋ฐ˜๋“œ์‹œ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ํ•ด์•ผ ํ•จ(eclipse๊ฐ™์€ IDE์—์„œ๋„ ์˜ˆ์™ธ์ฒ˜๋ฆฌํ•˜๋ผ๋Š” ์—๋Ÿฌ ๋ฐœ์ƒ)

    ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋„ฃ์œผ๋ฉด ๋งค๊ฐœ๋ณ€์ˆ˜์˜ charset์ด ์ ์šฉ๋จ

    package java_tmp.test.lsy;
    
    public class Test1 {
    
    	public static void main(String[] args){
    		
    		String str = "๋‚ด์‚ฌ๋ž‘์— ์„ธ์ƒ๋„ ์–‘๋ณดํ•œ ๋„ ๋‚˜ ๋๊นŒ์ง€ ์•„๋ผ๋ฉฐ ์‚ฌ๋ž‘ํ• ๊ฒŒ ์•ฝ์†ํ•ด์ค˜ ์„œ๋กœ๋งŒ ๋ฐ”๋ผ๋ณด๋‹ค ๋จผ ํ›—๋‚  ์šฐ๋ฆฌ ๊ฐ™์€๋‚ ์— ๋– ๋‚˜";
            // ๊ธฐ๋ณธ ์ธ์ฝ”๋”ฉ์œผ๋กœ ๋ณ€ํ™˜
    		byte[] bytes = str.getBytes();
    		System.out.println("str to byte[] : " + bytes);
    	}
    }

     


    byte[] convert to String๐Ÿฅฐ

    new String()

    String์˜ new String์„ ์ด์šฉํ•˜๊ณ  ์ด ๋•Œ ๋งค๊ฐœ๋ณ€์ˆ˜์— bytes[]๊ฐ’์„ ๋„ฃ์–ด์ฃผ๋ฉด ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜๋œ๋‹ค.

    package java_tmp.test.lsy;
    
    public class Test1 {
    
    	public static void main(String[] args){
    		
    		String str = "๋‚ด์‚ฌ๋ž‘์— ์„ธ์ƒ๋„ ์–‘๋ณดํ•œ ๋„ ๋‚˜ ๋๊นŒ์ง€ ์•„๋ผ๋ฉฐ ์‚ฌ๋ž‘ํ• ๊ฒŒ ์•ฝ์†ํ•ด์ค˜ ์„œ๋กœ๋งŒ ๋ฐ”๋ผ๋ณด๋‹ค ๋จผ ํ›—๋‚  ์šฐ๋ฆฌ ๊ฐ™์€๋‚ ์— ๋– ๋‚˜";
    		byte[] bytes = str.getBytes();
    		System.out.println("str to byte[] : " + bytes);
    		
    		System.out.println();
    		
    		String byte2Str = new String(bytes);
    		System.out.println("byte2Str : " + byte2Str);
    	}
    }

     

     

    โ€ป ์ธ์ฝ”๋”ฉ, ๋””์ฝ”๋”ฉ์˜ ๊ฒฐ๊ณผ๋กœ ๊ธธ์ด๊ฐ€ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์œผ๋‹ˆ ๋ฐ˜๋“œ์‹œ ์ฃผ์˜ํ•  ๊ฒƒ

     

    ์ธ์ฝ”๋”ฉ : ์ปดํ“จํ„ฐ๊ฐ€ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜ ๐Ÿ’ป

    ๋””์ฝ”๋”ฉ : ์‚ฌ๋žŒ์ด ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ๋กœ ๋ณ€ํ™˜ ๐Ÿ‘ฉ

     

    ์ฐธ์กฐ : ๊น€์ฒ ์ˆ˜ ํ™๊ธธ๋™, 2020,12,28, https://hey79.tistory.com/40

             reakwon, 2019.5.5, https://reakwon.tistory.com/76

     

    ๋Œ“๊ธ€