Hatena::ブログ(Diary)

ATOKダイレクト 開発者ブログ

2008-11-07

「URLエンコード プラグイン」をご紹介します

21:26 |

ジャストシステムATOKダイレクト開発担当の飯田です。初めてブログに書かせていただきます。よろしくお願いします。

今回は、ATOK開発チ−ム内で使用しているプラグインをご紹介します。名付けてURLエンコード プラグイン

例えば、はてな」という文字列URLエンコードした文字列が欲しい時に、以下のようにして利用します。

f:id:ATOKDirect:20081107204818j:image

他のアプリケーションなどとコピー&ペーストをしなくても、その場でUTF-8,Shift-JIS,EUC-JP文字コードURLエンコードした文字列を取得できて便利なので、開発中にも時々活躍しています。

ちなみに、ATOKダイレクトはCtrl+Insertで検索を実行すると、有効になっている全てのプラグインで検索されますが、上記のようにCtrl+Shift+Insertで実行することで、検索させたいプラグインをピンポイントに指定可能です。

このプラグインソースコードは次の通りです。

require "iconv"
require 'cgi'

module Atok_plugin

  def run_process( a_request_data )

    result_data = Hash.new

    candidate_array = Array.new

    # UTF-8
    candidate_array.push( 
      { 'hyoki'    => CGI.escape( a_request_data[ 'composition_string' ] ) , 
        'comment'  => "UTF-8エンコード" + "\\n[" + 
                      a_request_data[ 'composition_string' ] + "]" }
    )

    # Shift-JIS
    candidate_array.push( 
      { 'hyoki'    => CGI.escape( Iconv.conv( "CP932" , 
                                             "UTF-8" , 
                                             a_request_data[ 'composition_string' ] )
                               ) , 
       'comment'  => "Shift-JISエンコード" + "\\n[" + 
                     a_request_data[ 'composition_string' ] + "]" }
    )

    # EUC-JP
    candidate_array.push( 
      { 'hyoki'    => CGI.escape( Iconv.conv( "EUC-JP" , 
                                              "UTF-8" , 
                                              a_request_data[ 'composition_string' ] )
                                 ) , 
        'comment'  => "EUC-JPエンコード" + "\\n[" + 
                      a_request_data[ 'composition_string' ] + "]" }
    )

    result_data[ 'candidate' ] = candidate_array

    result_data

  end

end

簡単なプラグインでも、日々の作業を快適にしてくれる可能性があると思いますので、ぜひ皆さまも面白いプラグインを考えてみてください。

Connection: close