encode.h 文字コード変換 (作りかけ)

ファイルとディレクトリを扱うためのヘッダファイル.kstm.orgの活動の一環としてつくられたソフトの一部だった気もしますが,原型はとどめてません.

iconvもしくは,Win32APIを使います.Win32APIは対応している文字コード少ない….

利用の制限はありません.個人の責任において自由に使ってください.

サンプル

#include <iostream>
#include <string>
#include <vector>
#include "encode.h"
using namespace std;
using namespace Encode;


int main(int argc,char *argv[])
{
    string s = "ABCあいう123漢字aa";

    string t=encode(s,SJIS,UTF8);
    cout << t << endl;
    
    cout << "SJIS: ";
    for (SJIS_IteratorS it(s.begin(),s.end());!it.eof(); )
        cout << it.shift() << " ";
    cout << endl;

    vector<int> a;
    cout << "UTF-8: ";
    for (UTF8_IteratorS it(t.begin(),t.end());it!=t.end();++it ) {
        cout << *it << " ";
        a.push_back(*it);
    }
    cout << endl;

    string utf;
    stringEncode_UTF8(utf,a.begin(),a.end());
    cout << utf << endl;

    for (UTF8_IteratorS it(utf.begin(),utf.end());it!=utf.end();++it ) {
        cout << *it << " ";
    }

    return 0;
}

中身

Encode::encode()だけ使えばよいと思います.

イテレータは不正な文字列を入れると誤動作するので,そのエンコードで正当な文字列を渡してください.JIS_Iteratorはたぶん動きません.

履歴

Copyright © binzume all rights reserved.