メインコンテンツへスキップ

android機での%エンコード文字列渡しについて

コメント

9件のコメント

  • 竹本 靖夫

    はじめまして :D

    なーんとなくですが

    たとえば「ウィキペディア」を、各種の文字コードを用いてパーセントエンコーディングで符号化すると以下のようになる。

    • Shift_JIS - %83E%83B%83L%83y%83f%83B%83A
    • EUC-JP - %A5%A6%A5%A3%A5%AD%A5%DA%A5%C7%A5%A3%A5%A2
    • UTF-8 - %E3%82%A6%E3%82%A3%E3%82%AD%E3%83%9A%E3%83%87%E3%82%A3%E3%82%A2

    どれ代入してもダメっぽいですか;;?

  • ふかを

    ありがとうございます。

    試しましたところ、以下のようになりました。

    ・Shift_JIS - %83E%83B%83L%83y%83f%83B%83A

     →83B83y83B〇(文字化け)A

    ・EUC-JP - %A5%A6%A5%A3%A5%AD%A5%DA%A5%C7%A5%A3%A5%A2

     →A6A3ADDAC7A3A2

    ・UTF-8 - %E3%82%A6%E3%82%A3%E3%82%AD%E3%83%9A%E3%83%87%E3%82%A3%E3%82%A2

     → 82E3A382E39A83E3A382〇(文字化け)

     

    最初の説明不足だったのですが、エンコードは現段階ではmagic内で行っておらず、

    {C|}{D2250,1000,2230|}{PC000;0207,0161,10,20,K,+00,00,B,J0000,+0000000000,P1|}{RC000;testdata|}

    というコマンドを

    %7bC%7c%7d%7bD2250%2c1000%2c2230%7c%7d%7bPC000%3b0207%2c0161%2c10%2c20%2cK%2c%2b00%2c00%2cB%2cJ0000%2c%2b0000000000%2cP1%7c%7d%7bRC000%3btestdata%7c%7d

    と変換しておき、

    tecbcp:///tpcl?printnumber=0002;rotation=0;data=%7bC%7c%7d%7bD2250%2c1000%2c2230%7c%7d%7bPC000%3b0207%2c0161%2c10%2c20%2cK%2c%2b00%2c00%2cB%2cJ0000%2c%2b0000000000%2cP1%7c%7d%7bRC000%3btestdata%7c%7d

    という文字列で渡そうとしています。

    これをシングルクォートで囲って外部コール、OSコマンドで呼んでいます。

    後出しになってしまい、申し訳ありません。

    よろしくお願い致します。

  • ふかを

    ご助言ありがとうございます。

    magicの動作としてではなく、androidの動作としてでしたら、

    東芝TEC製サンプルアプリから、東芝TEC製印刷アプリへ、%のついた文字列を渡し、印刷をすることはできています。

    (また後出し情報で申し訳ありません)

     

    先の具体例を記載させていただきます。

    「tecbcp:///tpcl?printnumber=0002;rotation=0;data=%7bC%7c%7d%7bD2250%2c1000%2c2230%7c%7d%7bPC000%3b0207%2c0161%2c10%2c20%2cK%2c%2b00%2c00%2cB%2cJ0000%2c%2b0000000000%2cP1%7c%7d%7bRC000%3btestdata%7c%7d」

    という文字列が届くことを期待しているのですが、

    「tecbcp:///tpcl?printnumber=0002;rotation=0;data=7c7bD22502c22307d3b02072c102cK2b002cB2c2cP17d3btestdata7d」

    という内容が到達します。

     

    宜しくお願い致します。

  • ふかを

    サポートへ問い合わせるべき内容なんですね、ありがとうございます。

     

    '%'&'7bC'&'%'&'7c'&'%'&'7d'試してみました。

    (文章の最後まで同様の処理をしました。)

    外部コールをしている際は両サイドをシングルクォートで囲っていますので、

    'tecbcp:///tpcl?printnumber=0002;rotation=0;data='%'&'7bC'&'%'&'7c'&'%'&'7d' ①

    これだと構文エラーになるため、

    'tecbcp:///tpcl?printnumber=0002;rotation=0;data='&'%'&'7bC'&'%'&'7c'&'%'&'7d' ②

    として実行しました。

    ②は先の書き込みと同じ内容となりました。

    ①をそのまま実行したところ、data=以降が欠落してしまいました。

     

    ご助言ありがとうございます。

    よろしくお願い致します。

  • ふかを

    ありがとうございます。

    結果は最後の一文字が違うものの、%は落ちていました。

    最後の一文字が}だったので、勝手にデコードされたのだと思い、

    エンコード前の{C~を送ったら、プリンタでエラー。

    %が1つだけだった場合、うまく送れましたが、2つ以上ではだめでした。

    式エディタの中で、%の前で改行をしてもダメでした。

     

    よろしくお願い致します。

  • ふかを

    返信遅くなってしまいすみません。

    %%はだめでした。

     

     

  • ふかを

    ありがとうございます。

    昨日e-サポにもこの内容をまとめたものを問い合わせました。

    結果が出ましたらこちらに転載したいと思います。

    (していいのでしょうか。)

  • Tanda

    > (していいのでしょうか。)

    サポートセンターは有料サービスですので、無許可での転載はまずいと思います。このフォーラムのトップメニューに「管理者への問い合わせ」という項目がありますので、そこで確認されたらよろしいかと思いますよ。

  • ふかを

    はい、ありがとうございます。

    確認してみます。

サインインしてコメントを残してください。