みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
適当なテキストに対して、
HexDecode ( HexEncode ( Text ) )
や
TextDecode ( TextEncode ( Text ; "shift_jis" ; 1 ) ; "shift_jis" )
は、元のテキストを返していきます。(仕様上当たり前)
ところが、
TextDecode ( HexDecode ( HexEncode ( TextEncode ( Text ; "shift_jis" ; 1 ) ) ) ; "shift_jis" )
シフトJISへエンコードして、Hexへ変換して、それを元に戻して、シフトJIS でデコード すると元に戻るはずですが、戻りません。
どなたか検証してみてください。
Offline
チラット検証してみました。
HexDecode の時に {; 拡張子を含むファイル名} をつけると戻りました。
検証1:
LET([
v1=TextEncode ( "あ" ; "shift_jis" ; 1 )
;v2=HexEncode (v1)
;v3=HexDecode (v2)
;v4=TextDecode (v3 ; "shift_jis" )
];
List (
v1;
v2;
v3;
v4
)
)
結果:
shift_jis.txt
82A0
?
?
検証2:
LET([
v1=TextEncode ( "あ" ; "shift_jis" ; 1 )
;v2=HexEncode (v1)
;v3=HexDecode (v2 ; "shift_jis.txt")
;v4=TextDecode (v3 ; "shift_jis" )
];
List (
v1;
v2;
v3;
v4
)
)
結果:
shift_jis.txt
82A0
shift_jis.txt
あ
Offline
バイナリなので、デコードするときにファイル名が必要です。
>ファイル名や拡張子を指定しないと、この関数はオブジェクトデータではなくテキストを返します。
あぁ、テキストを返すとは、そういう意味だったのか。ありがとうございまでございます。
これができると、shiftJIS系のバイト関数が、超簡単に作れるんです。
Offline
Pages: 1
[ Generated in 0.004 seconds, 9 queries executed - Memory usage: 503.91 KiB (Peak: 514.67 KiB) ]