[openrtm-users 01021] support for wchar and wstring data types in BasicDataType.idl

3 posts / 0 new
Last post
root
Offline
Last seen: 5 hours 16 min ago
Joined: 2009-06-23 14:31
[openrtm-users 01021] support for wchar and wstring data types in BasicDataType.idl

OpenRTM-aist開発者の皆様

産総研の松坂です。

ポートの間でやり取りされるデータ型は、BasicDataType.idlで定義されていると思うのですが、
データ型の中にwcharとwstringをサポートするデータ型を例えばTimedWCharやTimedWString
などの形で追加することはできませんでしょうか?

国際化文字列は現在のTimedString型でも無理矢理通信できてしまうのですが、上記のwstring型を
使う方がより正規の(?)方法のようです。

国際化文字列を無理矢理通信する方法はC++では使えたのですが、Pythonでは普通のやり方では
送信側にcdrMarshalエラーが出てしまうようで、うまい方法はないかと思っています。

Undefined
root
Offline
Last seen: 5 hours 16 min ago
Joined: 2009-06-23 14:31
[openrtm-users 01022] support for wchar and wstring data types

産総研の松坂です。

前回メールに不具合が起こる場合のソースをつけていなかったので、添付して送ります。
OpenRTM-aist 1.0.0RC1 Python版付属のサンプルコードを少し書き換えてUTF-8文字列を
送ろうとしているのですがcdrMarshalエラーが出ます。

前回メールを出した後で

[openrtm-users 00503] ポートの型による処理速度の差異

の一連の議論を読み返したのですが、wchar型もwstring型も文字列を送るという本来の
目的では生かしておいてほしいように思います(遅い反応ですいません)。
国際化文字列を送るという目的を考えると上記議論で問題となったパフォーマンスに
影響するコード変換機能も本来はありがたい機能です。

とはいえcharという名前は、8bitデータ型として誤解されやすいので、例えば新しい
TimedChar型はTimedOctet型と等価にして、より誤解の少なそうな名前(TimedCharacterとか)
を現在のTimedChar型と等価なものとして新しくに新設するなどして検討いただけると
ありがたいのですが、どうでしょうか?

ユーザ型で解決してしまっても良いのですが、国際化文字列の送受信は非常によく使われる機能だと
思うので何か共通のプロトコルがあった方が良いように思います。

2009/11/25 Yosuke Matsusaka :
> OpenRTM-aist開発者の皆様
>
> 産総研の松坂です。
>
> ポートの間でやり取りされるデータ型は、BasicDataType.idlで定義されていると思うのですが、
> データ型の中にwcharとwstringをサポートするデータ型を例えばTimedWCharやTimedWString
> などの形で追加することはできませんでしょうか?
>
> 国際化文字列は現在のTimedString型でも無理矢理通信できてしまうのですが、上記のwstring型を
> 使う方がより正規の(?)方法のようです。
>
> 国際化文字列を無理矢理通信する方法はC++では使えたのですが、Pythonでは普通のやり方では
> 送信側にcdrMarshalエラーが出てしまうようで、うまい方法はないかと思っています。

root
Offline
Last seen: 5 hours 16 min ago
Joined: 2009-06-23 14:31
[openrtm-users 01032] support for wchar and wstring data types

産総研 松坂様

お世話になっております。
栗原です。

ご連絡が遅くなり、申し訳ございません。

BasicDataType.idlに[TimedWChar,TimedWCharSeq,TimedWString,TimedWStringSeq]
の4つの型を追加致しました。

最新のBasicDataType.idlを添付させて頂いております。
(リポジトリの方は、上記のデータタイプが追加されたIDLファイルになっております。)

Pythonのログに関しましても、情報を提供頂き有難うございました。

以上、宜しくお願い致します。

On Thu, 26 Nov 2009 14:04:58 +0900
Yosuke Matsusaka wrote:

> 産総研の松坂です。
>
> 前回メールに不具合が起こる場合のソースをつけていなかったので、添付して送ります。
> OpenRTM-aist 1.0.0RC1 Python版付属のサンプルコードを少し書き換えてUTF-8文字列を
> 送ろうとしているのですがcdrMarshalエラーが出ます。
>
> 前回メールを出した後で
>
> [openrtm-users 00503] ポートの型による処理速度の差異
>
> の一連の議論を読み返したのですが、wchar型もwstring型も文字列を送るという本来の
> 目的では生かしておいてほしいように思います(遅い反応ですいません)。
> 国際化文字列を送るという目的を考えると上記議論で問題となったパフォーマンスに
> 影響するコード変換機能も本来はありがたい機能です。
>
> とはいえcharという名前は、8bitデータ型として誤解されやすいので、例えば新しい
> TimedChar型はTimedOctet型と等価にして、より誤解の少なそうな名前(TimedCharacterとか)
> を現在のTimedChar型と等価なものとして新しくに新設するなどして検討いただけると
> ありがたいのですが、どうでしょうか?
>
> ユーザ型で解決してしまっても良いのですが、国際化文字列の送受信は非常によく使われる機能だと
> 思うので何か共通のプロトコルがあった方が良いように思います。
>
> 2009/11/25 Yosuke Matsusaka :
> > OpenRTM-aist開発者の皆様
> >
> > 産総研の松坂です。
> >
> > ポートの間でやり取りされるデータ型は、BasicDataType.idlで定義されていると思うのですが、
> > データ型の中にwcharとwstringをサポートするデータ型を例えばTimedWCharやTimedWString
> > などの形で追加することはできませんでしょうか?
> >
> > 国際化文字列は現在のTimedString型でも無理矢理通信できてしまうのですが、上記のwstring型を
> > 使う方がより正規の(?)方法のようです。
> >
> > 国際化文字列を無理矢理通信する方法はC++では使えたのですが、Pythonでは普通のやり方では
> > 送信側にcdrMarshalエラーが出てしまうようで、うまい方法はないかと思っています。
> >

Log in or register to post comments

Download

latest Releases : 2.0.0-RELESE

2.0.0-RELESE Download page

Number of Projects

Choreonoid

Motion editor/Dynamics simulator

OpenHRP3

Dynamics simulator

OpenRTP

Integrated Development Platform

AIST RTC collection

RT-Components collection by AIST

TORK

Tokyo Opensource Robotics Association

DAQ-Middleware

Middleware for DAQ (Data Aquisition) by KEK