D 언어로 Shift-JIS 입출력

3489 단어 dlang
일본어 CSV를 읽거나 쓰는 등 문자 코드를 변환하는 프로그램을 만들 때 참고.

DMD ver2.0.65 을 사용합니다.
Windows의 명령 프롬프트는 Shift-JIS이므로 일본어를 그대로 출력해도 문자화할 수 있습니다.
또한 Shift-JIS로 저장된 텍스트 파일을 읽고 무언가를 하기 위해서도 궁리가 필요합니다.
std.encoding에 있을까 생각했고, std.windows.charset 쪽에 ANSI를 전나무 볼 수 있는 처리가 들어가 있었습니다.

하는 방법



sjis.d
import std.stdio;
import std.string;
import std.conv;
import std.file;
import std.windows.charset;

void main(){
  string utf8 = "あいうえお";//UTF8
  writeln("utf8 : ", utf8);
  // UTF8 を Shift-JIS に
  writeln("utf8 to sjis : ", to!(string)(toMBSz(utf8)));

  auto sjis = File("sjis.txt").readln;//あいうえおをS-JISで保存したファイル
  writeln("sjis : ", sjis);
  // Shift-JIS を UTF8 に
  writeln("sjis to utf8 : ", fromMBSz(toStringz(cast(char[])sjis)));
}

결과(명령 프롬프트)


참고



h tp // w w. ㅎㅎ. 오 rg / 우키 4d / 우키. c기? 노니코에서 x chin D
htp : // 펜-jr. 오 rg / ぁ g_d / 미 d ぇ_ ぇ c / 엔코로. php

좋은 웹페이지 즐겨찾기