トップ «前の日記(2025-04-08) 最新 編集

Orz日記 by Akio Morita

ToDo:

  • 15 SAD Fit[]回りの障害事例の解析
  • 10 smart pointer版PEGクラスの再実装(Left Recursionまわり)
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|06|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|07|08|09|10|11|12|
2013|01|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|06|07|08|10|12|
2016|01|02|03|05|06|08|10|11|
2017|01|02|03|04|05|06|07|09|10|11|12|
2018|01|02|03|04|06|07|08|09|10|11|12|
2019|01|03|04|05|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|12|
2025|01|02|03|04|

2025-04-10 [長年日記]

_ [SAD]Stringのエンコード操作

現状の実装方針

  • Code-point表現はUnicodeベースとし、CSI実装にはしない
    • 現用環境では、UCS-4でもメモリサイズ的に実用に耐える
    • 最近の外部のエンコードライブラリは、UCS-4実装が主なのでCSI化するメリットが薄い
  • ToCharacterCode, FromCharacterCode, Characters, StringLengthを再実装し、エンコードオプションをサポートする
    • デフォルトエンコードは、Unibyteとする (0x00-0xff ⇆ U+0000-U+00FFを1対1にマッピング)
    • デフォルトエンコードをUTF-8化した変種を用意する
      • ToUCS, FromUTF8 (UTF-8 → UCS-4)
      • FromUCS, ToUTF8 (UCS-4 → UTF-8)
      • UTF8s (UTF-8文字列の分かち書き)
  • エンコードモジュールが見つからない場合は、当面エラー扱いとする
    • 二次開発で、iconvバックエンドの実装を行う
      • 一旦、UCS-4-INTERNALバッファに貯めることで、ステートフルエンコードもサポート可能に(ISO-2022系とか)
    • StringEncode - Stringのエンコード変換の実装も二次開発項目
      • UCS-4経由であれば、FromCharacterCode[ToCharacterCode[s, Encoding->from], Encoding->to]相当

カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記