初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2022-09-13 14:03:03

Shin
Member

HexDecode と TextDecode

適当なテキストに対して、
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

#2 2022-09-13 17:46:50

qb_dp
Member

Re: HexDecode と TextDecode

チラット検証してみました。
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

#3 2022-09-13 18:00:33

himadanee
Guest

Re: HexDecode と TextDecode

バイナリなので、デコードするときにファイル名が必要です。
>ファイル名や拡張子を指定しないと、この関数はオブジェクトデータではなくテキストを返します。

#4 2022-09-13 22:55:42

Shin
Member

Re: HexDecode と TextDecode

あぁ、テキストを返すとは、そういう意味だったのか。ありがとうございまでございます。

これができると、shiftJIS系のバイト関数が、超簡単に作れるんです。

Offline

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.004 seconds, 9 queries executed - Memory usage: 503.91 KiB (Peak: 514.67 KiB) ]