Suche senden
Hochladen
マスタリング バベル
•
Als PPTX, PDF herunterladen
•
0 gefällt mir
•
1,528 views
道化師 堂華
Folgen
文字エンコーディングの判定・変換ライブラリのバベルについて。 Boost.勉強会 #2 ( http://atnd.org/events/7148 )にて発表。
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 39
Jetzt herunterladen
Empfohlen
Boost tour 1.60.0
Boost tour 1.60.0
Akira Takahashi
イチからはじめるUSB Host API
イチからはじめるUSB Host API
ksk sue
Boost Tour 1_58_0
Boost Tour 1_58_0
Akira Takahashi
Android usbの基本
Android usbの基本
Hiasyoshi Suehiro
UEFIによるELFバイナリの起動
UEFIによるELFバイナリの起動
uchan_nos
よくわかる?KotonoSyncの使い方!
よくわかる?KotonoSyncの使い方!
u Suzumof
LUCIFERの設計コンセプトと 導入予定の機能紹介
LUCIFERの設計コンセプトと 導入予定の機能紹介
道化師 堂華
C++0x総復習
C++0x総復習
道化師 堂華
Empfohlen
Boost tour 1.60.0
Boost tour 1.60.0
Akira Takahashi
イチからはじめるUSB Host API
イチからはじめるUSB Host API
ksk sue
Boost Tour 1_58_0
Boost Tour 1_58_0
Akira Takahashi
Android usbの基本
Android usbの基本
Hiasyoshi Suehiro
UEFIによるELFバイナリの起動
UEFIによるELFバイナリの起動
uchan_nos
よくわかる?KotonoSyncの使い方!
よくわかる?KotonoSyncの使い方!
u Suzumof
LUCIFERの設計コンセプトと 導入予定の機能紹介
LUCIFERの設計コンセプトと 導入予定の機能紹介
道化師 堂華
C++0x総復習
C++0x総復習
道化師 堂華
バグベアード入門
バグベアード入門
道化師 堂華
エラーハンドリング
エラーハンドリング
道化師 堂華
エラーハンドリングモデル考察
エラーハンドリングモデル考察
道化師 堂華
C++プログラマの為のセキュリティ入門
C++プログラマの為のセキュリティ入門
道化師 堂華
C++ tips 3 カンマ演算子編
C++ tips 3 カンマ演算子編
道化師 堂華
C++ tips2 インクリメント編
C++ tips2 インクリメント編
道化師 堂華
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
Weitere ähnliche Inhalte
Andere mochten auch
バグベアード入門
バグベアード入門
道化師 堂華
エラーハンドリング
エラーハンドリング
道化師 堂華
エラーハンドリングモデル考察
エラーハンドリングモデル考察
道化師 堂華
C++プログラマの為のセキュリティ入門
C++プログラマの為のセキュリティ入門
道化師 堂華
C++ tips 3 カンマ演算子編
C++ tips 3 カンマ演算子編
道化師 堂華
C++ tips2 インクリメント編
C++ tips2 インクリメント編
道化師 堂華
Andere mochten auch
(6)
バグベアード入門
バグベアード入門
エラーハンドリング
エラーハンドリング
エラーハンドリングモデル考察
エラーハンドリングモデル考察
C++プログラマの為のセキュリティ入門
C++プログラマの為のセキュリティ入門
C++ tips 3 カンマ演算子編
C++ tips 3 カンマ演算子編
C++ tips2 インクリメント編
C++ tips2 インクリメント編
Kürzlich hochgeladen
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
WSO2
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
sn679259
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
Kürzlich hochgeladen
(12)
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
マスタリング バベル
1.
マスタリング バベル Boost.勉強会
#2 ( 2010-09-11 )
2.
概要 バベルってなに? 使い方
オプション 今後の課題 2
3.
バベルってなに? マスタリング バベル
3
4.
バベルってなに? 文字エンコーディング変換モジュールです! 4
5.
バベルってなに? 文字エンコーディング変換モジュールです! シフトJIS,JIS,EUC,UNICODE(UTF-8,UTF-16,UTF-32)に対応していずれの組み合わせであろうと相互変換できます。
5
6.
バベルってなに? 文字エンコーディング変換モジュールです! シフトJIS,JIS,EUC,UNICODE(UTF-8,UTF-16,UTF-32)に対応していずれの組み合わせであろうと相互変換できます。
×国際化対応の為のものではありません! 国際化対応を前提とする場合、MLang, iconv, ICU あたりを推奨します。 6
7.
バベルってなに? 真にフリーなライセンス 7
8.
バベルってなに? 真にフリーなライセンス GPLみたいにうだうだ言いません!
8
9.
バベルってなに? 真にフリーなライセンス GPLみたいにうだうだ言いません!
商用だろうが断りなく好き勝手に使って構いません! 9
10.
バベルってなに? 真にフリーなライセンス GPLみたいにうだうだ言いません!
商用だろうが断りなく好き勝手に使って構いません! オープンソースソフトウェアの一部としてソースファイル毎再配布しても構いません! 10
11.
バベルってなに? 強いて制限を挙げるなら… 11
12.
バベルってなに? 強いて制限を挙げるなら… 「バベルはワシが作った」とか言い出さないで。
第三者から俺が盗人呼ばわりされるのはさすがに勘弁! 12
13.
バベルってなに? 強いて制限を挙げるなら… 「バベルはワシが作った」とか言い出さないで。
第三者から俺が盗人呼ばわりされるのはさすがに勘弁! 万が一なにか問題があっても「自己責任」で。 俺に責任追及されてもそんなの知らん! 13
14.
バベルってなに? 高い文字エンコーディング判別精度 14
15.
バベルってなに? 高い文字エンコーディング判別精度 日本語限定だし、日本語文中に含まれる文字コードの出現率データを使っているので非常に高い文字エンコーディング判別精度を誇ります!
15
16.
バベルってなに? 高い移植性 16
17.
バベルってなに? 高い移植性 あの
AIX 上ですらちゃんと動きます! ※ここ苦笑する所 17
18.
バベルってなに? 利用実績 18
19.
バベルってなに? 利用実績 具体的な数は残念ながらろくに把握できていませんが、フリーなライセンス、文字エンコーディング判別精度、高い移植性なんかのおかげで、かなり規模でご採用頂けているようです。
19
20.
使い方 マスタリング バベル
20
21.
使い方 まずバベルをここからダウンロードします! http://tricklib.com/cxx/ex/babel/#download
※一番下の[バベル全ファイルZIPパック]がオススメ 21
22.
使い方 次にダウンロードした各ファイルをバベルを利用するプログラムのソースファイルを置いているディレクトリにコピーします。 ※babel.hと
babel.cpp だけでなく*.csv, *.dat も同じディレクトリに一緒にコピーしてください。 22
23.
使い方 babel.hを #include
します。 23 #include "babel.h"
24.
使い方 最初に初期化関数を呼び出します。 24
int main(...) { ... babel::init_babel(); ... }
25.
使い方 文字エンコーディング変換関数を呼び出します。 25
void f() { std::string source, destination; ... // 全自動変換 destination = babel::auto_translate<>(source); ... // ShiftJIS->EUC変換 destination = babel::sjis_to_euc(source); } 変換関数の一覧:http://tricklib.com/cxx/ex/babel/#functions
26.
使い方 あとは babel.cpp
も他のソースコードと一緒にコンパイル・リンクもするだけ。 ※具体的な方法はご使用のIDEやmakeなどの環境次第ですのでここでは説明しません。 26
27.
使い方 ストリーム 27
using namespace babel; void execute_translater(std::istream &input, std::ostream &output, bbl_translater<bbl_binary, bbl_binary> translater) { bbl_binarybuffer; bbl_binarybuffer2; while(!input.eof()) { bbl_binary::value_type buffer3[1024]; input.read(buffer3, 1024); unsigned int size = input.gcount(); buffer.assign(buffer3, size); translater<< buffer; translater>> buffer2; output << buffer2; } } void f() { … execute_translater(std::ifstream(“src.txt”), std::cout, auto_translate_engine<bbl_string>::create()); … }
28.
オプション マスタリング バベル
28
29.
オプション 大半のマクロ定義によるオプションは指定なしでもだいたいよしなに処理しますが多少効率の悪いコードになることもあるので面倒でなければ指定をしたほうがいいです。 29
30.
オプション wchar_tのサイズ __UNICODE_CHAR_SIZE_2__
__UNICODE_CHAR_SIZE_4__ × __UNICODE_CHAR_SIZE_UNKNOWN__ 30
31.
オプション エンディアン __LITTLE_ENDIAN_COMPUTER__
__BIG_ENDIAN_COMPUTER__ × __UNKNOWN_ENDIAN_COMPUTER__ 31
32.
オプション 処理系(コンパイラ)の文字エンコーディング __USING_ANSI__
__USING_SJIS__ __USING_EUC__ __USING_UTF8__ × __USING_UNKNOWN__ 32
33.
オプション テーブルの形式 __BBL_USING_STATIC_TABLE__
( default ) 静的なテーブルを使用し、 babel::init_babel() の処理時間も非常に短くなります。 コンパイラに負荷をかける為、コンパイルできないことがあります。 ※コンパイラのオプションで問題を回避できる場合もあり。 __BBL_USING_STDMAP_TABLE__ 静的なテーブルの代りに std::map を使用し、 babel::init_babel() の処理時間も長くなり、メモリ消費量も増大します。 33
34.
オプション SJIS⇔UNICODE変換で使用するマッピング __BBL_USE_UNICODE_MAP_CP932__
( default ) __BBL_USE_UNICODE_MAP_UTC__ __BBL_USE_UNICODE_MAP_APPLE__ 34
35.
オプション 使用しないコードとデータの除去 __BBL_DISABLE_UNICODE__
__BBL_DISABLE_BINARY__ __BBL_DISABLE_UTF32__ ※この指定だけは babel.hで始めから固定で定義されています。 UTF-32 の実装が必要な場合にこのマクロの #define を babel.hから削除してください。 __BBL_DISABLE_SELECTORS__ 35
36.
今後の課題 マスタリング バベル
36
37.
今後の課題 マクロ名から連続したアンダースコアの除去 例:
__BABEL_BABEL_H__ -> BABEL_BABEL_H UTF-8 で本来無効なバイト列の無効化 絵文字対応 37
38.
質疑応答 マスタリング バベル
38
39.
ご静聴ありがとうございました。 マスタリング バベル
Jetzt herunterladen