mbcsutil.h

マルチバイト文字列を扱うクラス・関数 [詳細]

#include <vector>
#include <string>
#include <string.h>
#include <memory>
#include "langedge/ctypeutil.hpp"

mbcsutil.hのインクルード依存関係図

ソースコードを見る。

ネームスペース

namespace  boost
namespace  langedge
namespace  langedge::mbcsutil

型定義

typedef MBCSUtilSmartPtr<
std::auto_ptr< MBCSUtilIF >, 0 > 
MBCSUtilPtr
 MBCSUtilIF 参照用スマートポインタクラス (auto_ptr 版).
typedef MBCSUtilSmartPtr<
std::auto_ptr< MBCSUtilIF >,
MBCSProperty::SJIS > 
MBCSUtilPtrSJIS
 SJIS 文字列を扱う MBCSUtilIF 参照用スマートポインタクラス (auto_ptr 版).
typedef MBCSUtilSmartPtr<
std::auto_ptr< MBCSUtilIF >,
MBCSProperty::EUC > 
MBCSUtilPtrEUC
 EUC 文字列を扱う MBCSUtilIF 参照用スマートポインタクラス (auto_ptr 版).
typedef MBCSUtilSmartPtr<
boost::shared_ptr< MBCSUtilIF >, 0 > 
MBCSUtilSharedPtr
 MBCSUtilIF 参照用スマートポインタクラス (shared_ptr 版).
typedef MBCSUtilSmartPtr<
boost::shared_ptr< MBCSUtilIF >,
MBCSProperty::SJIS > 
MBCSUtilSharedPtrSJIS
 SJIS 文字列を扱う関数群を提供するクラス (shared_ptr版).
typedef MBCSUtilSmartPtr<
boost::shared_ptr< MBCSUtilIF >,
MBCSProperty::EUC > 
MBCSUtilSharedPtrEUC
 EUC 文字列を扱う関数群を提供するクラス (shared_ptr版).

列挙型

enum  {
  JCHAR_PART_S = 0,
  JCHAR_PART_1 = 1,
  JCHAR_PART_2 = 2
}
 日本語文字の部分 (1バイト目 or 2バイト目) [詳細]

関数

unsigned short charEUCtoSJIS (unsigned short ch)
 EUC文字をSJIS文字に変換.
unsigned short charSJIStoEUC (unsigned short ch)
 SJIS文字をEUC文字に変換.
size_t strEUCtoSJIS (const char *str, size_t size, char *buf, size_t bufsiz)
 EUC文字列をSJIS文字列に変換.
size_t strEUCtoSJIS (const std::string &str, std::string &dst)
 EUC文字列をSJIS文字列に変換.
size_t strEUCtoSJIS (char *str, size_t size=0)
 EUC文字列をSJIS文字列に変換.
size_t strEUCtoSJIS (std::string &str)
 EUC文字列をSJIS文字列に変換.
size_t strSJIStoEUC (const char *str, size_t size, char *buf, size_t bufsiz)
 SJIS文字列をEUC文字列に変換.
size_t strSJIStoEUC (const std::string &str, std::string &dst)
 SJIS文字列をEUC文字列に変換.
size_t strSJIStoEUC (char *str, size_t size=0)
 SJIS文字列をEUC文字列に変換.
size_t strSJIStoEUC (std::string &str)
 SJIS文字列をEUC文字列に変換.
void appendMBChar (std::string &str, unsigned short ch)
 マルチバイト文字を文字列にアペンドする
char * copyMBChar (char *str, unsigned short ch)
 マルチバイト文字をC文字列に格納する.


説明

マルチバイト文字列を扱うクラス・関数

作者:
OKA Toshiyuki (LangEdge, Inc.) <oka@langedge.com>
日付:
2001-10-22
バージョン:
Id
mbcsutil.h,v 1.7 2005/05/06 09:57:31 exoka Exp
Copyright (C) 2001-2005 LangEdge, Inc. All rights reserved.

型定義

typedef MBCSUtilSmartPtr<std::auto_ptr<MBCSUtilIF>, 0> langedge::mbcsutil::MBCSUtilPtr
 

MBCSUtilIF 参照用スマートポインタクラス (auto_ptr 版).

コンストラクタ引数省略時は、プラットフォームでデフォルトの文字コードとなる。

参照:
MBCSUtilSmartPtr

typedef MBCSUtilSmartPtr<std::auto_ptr<MBCSUtilIF>, MBCSProperty::SJIS> langedge::mbcsutil::MBCSUtilPtrSJIS
 

SJIS 文字列を扱う MBCSUtilIF 参照用スマートポインタクラス (auto_ptr 版).

コンストラクタ引数省略時は、SJIS 文字コードとなる。

参照:
MBCSUtilSmartPtr

typedef MBCSUtilSmartPtr<std::auto_ptr<MBCSUtilIF>, MBCSProperty::EUC> langedge::mbcsutil::MBCSUtilPtrEUC
 

EUC 文字列を扱う MBCSUtilIF 参照用スマートポインタクラス (auto_ptr 版).

コンストラクタ引数省略時は、EUC 文字コードとなる。

参照:
MBCSUtilSmartPtr

typedef MBCSUtilSmartPtr<boost::shared_ptr<MBCSUtilIF>, 0> langedge::mbcsutil::MBCSUtilSharedPtr
 

MBCSUtilIF 参照用スマートポインタクラス (shared_ptr 版).

コンストラクタ引数省略時は、プラットフォームでデフォルトの文字コードとなる。

参照:
MBCSUtilSmartPtr

typedef MBCSUtilSmartPtr<boost::shared_ptr<MBCSUtilIF>, MBCSProperty::SJIS> langedge::mbcsutil::MBCSUtilSharedPtrSJIS
 

SJIS 文字列を扱う関数群を提供するクラス (shared_ptr版).

当クラスのオブジェクトにオペレータ()を適用すると、 MBCSUtilIF (SJIS) オブジェクトへの参照が得られる。 その参照を使用して、マルチバイト関数を呼び出す。

typedef MBCSUtilSmartPtr<boost::shared_ptr<MBCSUtilIF>, MBCSProperty::EUC> langedge::mbcsutil::MBCSUtilSharedPtrEUC
 

EUC 文字列を扱う関数群を提供するクラス (shared_ptr版).

当クラスのオブジェクトにオペレータ()を適用すると、 MBCSUtilIF (EUC) オブジェクトへの参照が得られる。 その参照を使用して、マルチバイト関数を呼び出す。


列挙型

anonymous enum
 

日本語文字の部分 (1バイト目 or 2バイト目)

列挙型の値:
JCHAR_PART_S  1バイト文字
JCHAR_PART_1  日本語文字の1バイト目
JCHAR_PART_2  日本語文字の2バイト目


関数

unsigned short langedge::mbcsutil::charEUCtoSJIS unsigned short  ch  ) 
 

EUC文字をSJIS文字に変換.

unsigned short langedge::mbcsutil::charSJIStoEUC unsigned short  ch  ) 
 

SJIS文字をEUC文字に変換.

size_t langedge::mbcsutil::strEUCtoSJIS const char *  str,
size_t  size,
char *  buf,
size_t  bufsiz
 

EUC文字列をSJIS文字列に変換.

引数:
str 変換対象文字列
size 文字列長 ( 0 なら nul終端まで )
buf 変換後の文字列を格納するバッファ
bufsiz 上記バッファのサイズ ( 0 なら str と同サイズとみなされる)
戻り値:
変換後文字列の長さ
事前条件:
buf != NULL && str != NULL
事後条件:
バッファに余裕があれば、変換後文字列の末尾には nul が挿入される

size_t langedge::mbcsutil::strEUCtoSJIS const std::string &  str,
std::string &  dst
 

EUC文字列をSJIS文字列に変換.

文字列が std::string である点を除き、C文字列を引数とする同名関数と同じ

引数:
str 変換対象文字列
dst 変換後の文字列を格納する文字列

size_t langedge::mbcsutil::strEUCtoSJIS char *  str,
size_t  size = 0
 

EUC文字列をSJIS文字列に変換.

引数:
str 変換対象文字列 (この文字列の内容が直接変換される)
size 文字列長 ( 0 なら nul終端まで )

size_t langedge::mbcsutil::strEUCtoSJIS std::string &  str  ) 
 

EUC文字列をSJIS文字列に変換.

引数:
str 変換対象文字列 (この文字列の内容が直接変換される)

size_t langedge::mbcsutil::strSJIStoEUC const char *  str,
size_t  size,
char *  buf,
size_t  bufsiz
 

SJIS文字列をEUC文字列に変換.

引数:
str 変換対象文字列
size 文字列長 ( 0 なら nul終端まで )
buf 変換後の文字列を格納するバッファ
bufsiz 上記バッファのサイズ ( 0 なら str と同サイズとみなされる)
戻り値:
変換後文字列の長さ
事前条件:
buf != NULL && str != NULL
事後条件:
バッファに余裕があれば、変換後文字列の末尾には nul が挿入される。
bufsiz > 0 なら、半角カタカナは全角カタカナに変換される
bufsiz == 0 なら、半角カタカナは '#' で置換される

size_t langedge::mbcsutil::strSJIStoEUC const std::string &  str,
std::string &  dst
 

SJIS文字列をEUC文字列に変換.

文字列が std::string である点を除き、C文字列を引数とする同名関数と同じ

引数:
str 変換対象文字列
dst 変換後の文字列を格納する文字列

size_t langedge::mbcsutil::strSJIStoEUC char *  str,
size_t  size = 0
 

SJIS文字列をEUC文字列に変換.

引数:
str 変換対象文字列 (この文字列の内容が直接変換される)
size 文字列長 ( 0 なら nul終端まで )

size_t langedge::mbcsutil::strSJIStoEUC std::string &  str  ) 
 

SJIS文字列をEUC文字列に変換.

引数:
str 変換対象文字列 (この文字列の内容が直接変換される)

void langedge::mbcsutil::appendMBChar std::string &  str,
unsigned short  ch
[inline]
 

マルチバイト文字を文字列にアペンドする

引数:
str std::string
ch マルチバイト文字

char* langedge::mbcsutil::copyMBChar char *  str,
unsigned short  ch
[inline]
 

マルチバイト文字をC文字列に格納する.

マルチバイト文字を、指定された位置に1〜2バイト文字列として格納する。

引数:
str C-string
ch マルチバイト文字
戻り値:
格納した文字列の末尾を指すポインタ (次の格納位置として使える)


LangEdge ライブラリに対してFri May 6 22:42:59 2005に生成されました。  doxygen 1.4.2