HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2020
0411
名無しlongintのbase64モジュールについて4解決


名無し

リンク

2020/4/11(Sat) 12:57:01|NO.90052

longintに含まれているrsa.hspのEncodeBase64がの戻り値が文字列ではなく数字で返されます。
スクリプトのミスでしょうか?
著作権の都合上、ここにソースコードを貼るべきではないので下のURLからダウンロードしてください。
https://ftp.vector.co.jp/40/37/2121/longint.lzh
またhspinetやWindowsのAPIの関数を使わずにBase64のエンコード方法を知りたいです。



この記事に返信する


名無し

リンク

2020/4/11(Sat) 13:08:12|NO.90053

ミスです。EncodeBase64ではなくDecodeBase64です。すいません。



kanamaru

リンク

2020/4/11(Sat) 14:27:48|NO.90054

このモジュールはどうでしょうか。
https://hsp.moe/#mbase64
hspinetやwinapiを使わないとなると、こういったモジュールに頼る方法があります。
一応自力で作れなくもないでしょうが、
かなり大変です。
上記のモジュールなら機械語を使っているので高速です。
ちなみにwindowsでの話ですよね。
hsp3dishでは上記モジュールは使えません。
いかに上記モジュールのサンプルを書いておきます。

be="こんにちは" sdim af,(int(strlen(be)+2)/3)*4 Base64Encode be,strlen(be),af mes af sdim af2,strlen(af) Base64Decode af,strlen(af),af2 mes af2
エンコードした後、元に戻しています。
beの中身と
下に表示した文字列が等しいことを確認してください。



あらや

リンク

2020/4/11(Sat) 15:22:53|NO.90055

int型を文字列に変換するしかないですね。


#include "rsa.hsp" str1 = "テスト用文字列"; b64 = ""; EncodeBase64 b64, str1, strlen(str1); byte = stat; mes b64; mes ""+byte+"Byte"; DecodeBase64 str2, b64; byte = stat; str3 = ""; foreach str2 lpoke str3, cnt*4, lpeek(str2, cnt*4) loop mes str3; mes ""+byte+"Byte";



名無し

リンク

2020/4/11(Sat) 16:05:12|NO.90056

kanamaruさん、あらやさん、ありがとうございます。解決



ONION software Copyright 1997-2021(c) All rights reserved.