본문 바로가기

Programming

[Labview] UTF-8 Encoding

WebService를 통해서 문자를 수신하려고 놀던 중(?) UTF-8문자가 제대로 나오지 않는군요!

(변환vi가 있나 찾아봤는데.. 솔직히 못찻겠더군요. 검색도 잘 안되었고) - 아시는 분은 댓글좀 주셔요!!




그래서!! 


만들어봅니다. 쓰려면 어쩔수 없으니까 ㅋㅋ

UTF-8,16 뭐 많이들 있지만. 가장 많이(?) 쓰는(본인이) UTF-8을 해봅니다.

(나머지는 뭐 그대로 응용하면 됩니다)


API를 쓰는건 아니고 렙뷰설치하면서 같이 깔리는 .Net Framework 를 이용해보고자 합니다.




블록다이어그램 -> 연결 -> .NET -> 컨스트럭터노드를 선택합니다.




위와 같은 어셈블리에 위와같은 생성자를 선택해주세요.

객체를 생성했으므로 해당 객체의 메소드 하나를 불러오겠습니다.

당연히 여기서 사용할 바이트를 UTF-8문자로 바꿔주는 녀석이죠




생성된녀석의 마우스우클릭을 하면 추가메뉴가 나옵니다.  

생성 -> 메소드 -> GetString(Byte[] bytes) 를 선택해줍니다.

(바이트배열을 입력으로 받고 문자열을 출력해주는 고마운 놈이죠)


입력받을 것이 바이트배열이므로 문자열도 바이트 배열로 바꾸어야겠죠?

다행히(?) 이것은 VI에서 찾았습니다. 바로 요놈이죠


실은 위 작업도 당연히 .net 을 쓰면되지만..일단 VI에서 찾을수 있는건 그걸 먼저 쓰는게 랩뷰를 배우는(?) 입장에서 나을것 같아서 왠만하면 랩뷰의 것(?)을 쓰도록 노력중입니다.


그리고 위의 사진이 만드려는 VI의 전체 블록다이어그램입니다!








입/출력 연결해주고 쓰면되겠죠?





네이버를 타겟(?)으로 조회를 해보았습니다.

좌측에 보이는 것이 방금 만든 VI를 통과한 결과입니다.. 


잘 나오죠? 


근데 렙뷰에서 하는 방법 아시는 분은 좀 알려주세요 ^^; 


설명에 썻던 파일은 첨부를 하였습니다.!



Sample_UTF8.vi


ConverUTF8.vi