Top > OOobbs2 > 104

OOobbs2/104 Edit

  • サマリ: TextOutputStream.setEncodingのUTF-16指定について
  • 環境: General
  • 状態: 解決
  • 投稿者: む~む~?
  • 投稿日: 2008-04-17 (木) 11:10:51

質問 Edit

oSfa = CreateUnoService("com.sun.star.ucb.SimpleFileAccess")
oOs= CreateUnoService("com.sun.star.io.TextOutputStream")
oOs.setOutputStream(oSfa .openFileWrite(sSaveFileNameUrl) )
oOs.setEncoding("UTF-16")
oOs.writeString(sSaveString)

のようにしているのですが、Shitf_JISで出力されます。 setEncodingはUTF-16に対応していないのでしょうか?

"EUC-JP"や"Shift_JIS"は、いけたので、処理的にはあっていると思うのですが。

http://api.openoffice.org/docs/common/ref/com/sun/star/io/XTextOutputStream.html

には、どれに対応しているかは実装によると書いてあるのですが、UTF-16でテキスト出力する手段はないのでしょうか。 どなたかご教授よろしくお願い致します。

回答 Edit

  • エンコードされたテキストとして Writer のファイルを出力するときには Unicode は UTF8、UTF7、UCS2 しか使えませんね。

UCS2 だと UTF-16 のサロゲート領域を使ったコードが不可かな。でも BMP 範囲内では同じになるのかな。

Writer で符号化されたテキストとしてエクスポートしたときに使用されるエンコード指定。

  • Unicode -> UCS2
  • Unicode (UTF-7) -> UTF7
  • Unicode (UTF-8) ->UTF8
  • はにゃ? 2008-04-17 (木) 18:38:22

ご返答ありがとうございます。 やはり、UTF-16は無理なんですね。 ところで、UCS2での出力なら可能なのでしょうか?

setEncoding("Unicode")

としても、結局UTF-8にしかならないようです。

とはいえ、全く別の手法を考えた方がよさそうですね。

  • む~む~ 2008-04-17 (木) 22:07:21
  • UCS2 を使うのであれば引数に "USC2" を指定してください。 -- はにゃ? 2008-04-18 (金) 20:45:26
  • 右辺のUCS2の方でしたか。すみません、ぼけてましたね。 -- む~む~ 2008-04-21 (月) 12:09:47

感想,コメント,メモ Edit



Reload   New Lower page making Edit Freeze Diff Upload Copy Rename   Front page List of pages Search Recent changes Backup   Help   RSS of recent changes