• Daum
  • |
  • 카페
  • |
  • 테이블
  • |
  • 메일
  • |
  • 카페앱 설치
 
취업뽀개기-NCS,공기업,인턴,취업,공모전,대학생,토익,이력서
 
 
 
 

지난주 BEST회원

다음
 
 
카페 게시글
ITㅣ포털ㅣ통신 JAVA 너무너무 간단하지만 정말 중요??!!!!한 질문 답변좀;;
자바뭘잡아 추천 0 조회 576 09.07.22 23:39 댓글 7
게시글 본문내용
 
다음검색
댓글
  • 09.07.23 00:47

    첫댓글 허접하지만 답변 드릴께요. 일단 제가 알고 있는한 byte와 char의 저장 방식의 문제가 아닐까 합니다. char같은 경우 문자를 그대로 변수에 저장하게 되구요. 예를 들어 char a = "hello" 이런식으로 저장하게 됩니다. 그리고 byte 같은 경우는 문자 그대로를 넣는 것이 아니라 -128~127의 숫자를 입력 받을 수 있는 변수형입니다. 그림, 영상파일을 문자단위로 읽어들이면 당연히 에러가 납니다. 그림 파일을 예로 들면 그림 파일 안에는 그림에 해당하는 각 픽셀당의 색깔 정보가 R,G,B 값이 숫자값으로 들어가 있습니다. 이 숫자들을 char형으로 읽어온다는건 불가능한거 같네요.

  • 09.07.23 01:29

    그림은 한픽셀당 넘버가 있지않나요?

  • 09.07.23 01:42

    파일에는 한픽셀당의 RGB값이 256.256.256 이런식으로 들어가 있지 않습니다. 그림 파일의 포멧 형식에 따라 저장 방식은 틀려집니다. 예를 들어 BMP 24비트 파일 같은경우 RGB값이 4비트로 표현되는걸로 알고있습니다. ;; 기억이 가물가물 하네요.. 이 색깔 정보가 들어있는 부분을 파일에서 띄어내서 읽어드리고 또 거기서 4비트마다 끊어서 읽어드린 2진수를 다시 10진수 256,256,256의 식으로 바꾸어서 픽셀의 RGB값ㄷ을 알아내게 됩니다. 이렇게 읽어낸 int형의 정보를 char로 형변환할 필요는 없다고 생각 되네요.

  • 삭제된 댓글 입니다.

  • 작성자 09.07.24 00:53

    CIA수사대//상세한 답변 정말 감사드립니다.

  • 09.07.23 22:04

    다는 설명 못드리겠는데, byte단위 입출력은 끝에 Stream이 붙습니다. FileInputStream 같은거요. 1byte씩 읽는 방식이기 때문에 한글이 깨집니다. 반면에 char 단위 입출력은 (자바는 유니코드를 char가 C/C++은 1byte인데 반해 2byte를 차지) 주로 뒤에 Reader나 Writter 등이 붙습니다. FileReader, BufferedReader 등이 있으며 이들은 한글이 안깨집니다.

  • 09.07.23 22:06

    영상이나 그림등은 bit의 배열로 이루어져있기 때문에 byte Stream을통해 읽어야 제대로 읽을 수 있죠. 그래서 2byte 유니코드씩 읽어 들이는 char 입출력 방식으론 문제가 있을 수 있겠죠.

  • 작성자 09.07.24 00:53

    over th...// 명쾌한 답변 정말 감사드립니다.

최신목록