タグ付けされた質問 「base64」

Base64は、バイナリデータをASCII文字列形式で表す一連のエンコードスキームです。

5
変更されたbase64 URLをデコード/エンコードするためのコード
データをbase64でエンコードしてURLに配置し、HttpHandler内でデコードしたいと考えています。 Base64エンコードでは、UriTemplateの一致を台無しにする「/」文字が許可されることがわかりました。次に、Wikipediaから「URLのBase64を変更する」という概念があることがわかりました。 URLバリアントの変更されたBase64が存在し、パディング「=」は使用されず、標準のBase64の「+」および「/」文字はそれぞれ「-」および「_」に置き換えられるため、URLエンコーダー/デコーダーを使用するは不要になり、エンコードされた値の長さに影響を与えません。同じエンコードされたフォームをそのままリレーショナルデータベース、Webフォーム、およびオブジェクト識別子で使用するために残します。 .NETを使用して、現在のコードを基本的なbase64エンコードおよびデコードから「変更されたbase64 for base64」メソッドを使用するように変更したいと思います。誰かこれをやったことがありますか? デコードするには、次のようなものから始めます。 string base64EncodedText = base64UrlEncodedText.Replace('-', '+').Replace('_', '/'); // Append '=' char(s) if necessary - how best to do this? // My normal base64 decoding now uses encodedText しかし、私は潜在的に1つまたは2つの「=」文字を最後に追加する必要がありますが、これは少し複雑に見えます。 私のエンコーディングロジックはもう少し単純なはずです。 // Perform normal base64 encoding byte[] encodedBytes = Encoding.UTF8.GetBytes(unencodedText); string base64EncodedText = Convert.ToBase64String(encodedBytes); // Apply …
113 c#  url  base64  encode  decode 

12
(パスで選択された)画像をbase64文字列に変換する
ユーザーのコンピューター上のパスからC#でbase64文字列に画像を変換するにはどうすればよいですか? たとえば、画像へのパス(形式C:/image/1.gif)がありdata:image/gif;base64,/9j/4AAQSkZJRgABAgEAYABgAAD..、1.gif返された画像を表すようなデータURIが必要です。
111 c#  image  base64 

16
Python:base64デコード時に「不正なパディング」エラーを無視する
埋め込みエラーがある場合でも、バイナリに変換したいbase64エンコードのデータがあります。私が使うなら base64.decodestring(b64_string) 「不正なパディング」エラーが発生します。別の方法はありますか? 更新:すべてのフィードバックをありがとう。正直に言うと、言及されたすべての方法は少し不満に聞こえたので、opensslを試すことにしました。次のコマンドはごちそうを機能させました: openssl enc -d -base64 -in b64string -out binary_data
111 python  base64 

2
ファイルをBase64Stringに変換して再度戻す
タイトルはそれをすべて言います: 私はtar.gzアーカイブを次のように読みました ファイルをバイトの配列に分割する それらのバイトをBase64文字列に変換します そのBase64文字列をバイトの配列に変換します それらのバイトを新しいtar.gzファイルに書き戻します 両方のファイルが同じサイズであることを確認できますが(以下のメソッドはtrueを返します)、コピーバージョンを抽出できなくなりました。 何か不足していますか? Boolean MyMethod(){ using (StreamReader sr = new StreamReader("C:\...\file.tar.gz")) { String AsString = sr.ReadToEnd(); byte[] AsBytes = new byte[AsString.Length]; Buffer.BlockCopy(AsString.ToCharArray(), 0, AsBytes, 0, AsBytes.Length); String AsBase64String = Convert.ToBase64String(AsBytes); byte[] tempBytes = Convert.FromBase64String(AsBase64String); File.WriteAllBytes(@"C:\...\file_copy.tar.gz", tempBytes); } FileInfo orig = new FileInfo("C:\...\file.tar.gz"); FileInfo copy = …

9
C#でBase64 URLセーフエンコーディングを実現するにはどうすればよいですか?
C#でBase64 URLセーフエンコーディングを実現したい。JavaにはCodec、URLを安全にエンコードした文字列を提供する共通ライブラリがあります。C#を使用して同じようにするにはどうすればよいですか? byte[] toEncodeAsBytes = System.Text.ASCIIEncoding.ASCII.GetBytes("StringToEncode"); string returnValue = System.Convert.ToBase64String(toEncodeAsBytes); 上記のコードはそれをBase64に変換しますが、パディングします==。URLセーフエンコーディングを実現する方法はありますか?
104 c#  encoding  base64 

3
メールの件名にアニメーションアイコン
私が知っているデータURIた複数base64の符号化データは、インライン画像などを用いることができます。今日、私は実際に件名にアニメーション(gif)アイコンが含まれているスパムメールを受信しました。 ここにアイコンだけがあります: ですから、私の頭を越えた唯一のことは、データURIと、Gmailが何らかの種類の絵文字を件名に挿入することを許可したかどうかということだけでした。電子メールの完全な詳細バージョンを確認し、下の画像の件名行をポイントしました。 したがって、GIFは=?UTF-8?B?876Urg==?=データURIスキームに似たエンコードされた文字列から取得されますが、アイコンを取得できませんでした。要素のHTMLソースは次のとおりです。 長い話を短く、より絵文字がたくさんある16進数ですが。彼らはどこにも文書化されていないか、私はそれを見つけることができませんでした。それがデータURIに関するものである場合、Gmailのメールの件名にそれらをどのように含めることができますか?(私はそのメールをアイコンの代わりに表示してyahooメールアカウントに転送しました)、そうでない場合、そのエンコードされた文字列はどのように解析されますか?https://mail.google.com/mail/e/XXXXXX[?]
103 gmail  base64  data-uri 

6
Linux bash /シェルで画像をbase64エンコードする方法
私はシェルスクリプトで画像をbase64エンコードして変数に入れようとしています: test="$(printf DSC_0251.JPG | base64)" echo $test RFNDXzAyNTEuSlBH 私は次のようなことも試しました: test=\`echo -ne DSC_0251.JPG | base64\` しかし、まだ成功していません。 私はこのようなことをしたいです: curl -v -X POST -d '{"image":$IMAGE_BASE64,"location":$LOCATION,"time_created":$TIMECREATED}' -H 'Content-type: text/plain; charset=UTF8' http://192.168.1.1/upload 私はこれを見つけましたhttp://www.zzzxo.com/q/answers-bash-base64-encode-script-not-encoding-right-12290484.html しかし、まだ成功していません。
102 linux  image  shell  variables  base64 

6
入力フォームからBase64エンコードファイルデータを取得する
Firebugで調べている情報を取得できる基本的なHTMLフォームがあります。 私の唯一の問題は、サーバーに送信される前にファイルデータをbase64でエンコードしようとしていることです。データベースに保存するには、その形式である必要があります。 <input type="file" id="fileupload" /> そしてJavascript + jQueryで: var file = $('#fileupload').attr("files")[0]; 利用可能なjavascriptに基づいたいくつかの操作があります:.getAsBinary()、. getAsText()、. getAsTextURL ただし、これらはいずれも、使用できない「文字」が含まれているため挿入できる使用可能なテキストを返しません。アップロードしたファイルで「ポストバック」が発生したくないので、特定のオブジェクトをターゲットとする複数のフォームを用意する必要があるため、重要です。この方法でファイルを取得し、JavaScriptを使用します。 広く入手可能なJavascript base64エンコーダの1つを使用できるようにファイルを取得するにはどうすればよいですか? ありがとう 更新-ここから報奨金を開始します。クロスブラウザのサポートが必要です!!! ここに私がいるところがあります: <input type="file" id="fileuploadform" /> <script type="text/javascript"> var uploadformid = 'fileuploadform'; var uploadform = document.getElementById(uploadformid); /* method to fetch and encode specific file here based on different browsers */ …

3
入力長が3で割り切れない場合、base64エンコードでパディングが必要なのはなぜですか?
base64エンコーディングでパディングする目的は何ですか。以下はウィキペディアからの抜粋です。 「追加の埋め込み文字が割り当てられます。これを使用して、エンコードされた出力を4文字の整数倍に強制できます(または、エンコードされていないバイナリテキストが3バイトの倍数でない場合と同等)。これらの埋め込み文字は、デコード時に破棄する必要がありますが、入力バイナリ長が3バイトの倍数にならない場合でも、エンコードされていないテキストの有効な長さを計算できます(最後の非埋め込み文字は通常、エンコードされ、最後の6ビットブロックはゼロになります) -最下位ビットにパディングされ、エンコードされたストリームの最後に最大2つのパディング文字が発生する可能性があります。」 私は、任意の文字列をbase64エンコードし、base64エンコードされた文字列をデコードできるプログラムを作成しました。パディングはどのような問題を解決しますか?
100 encoding  base64 

5
Base64データを解析または検証するRegEx
RegExを使用してBase64データを検証またはサニタイズすることは可能ですか?それは簡単な質問ですが、この質問を駆り立てる要因はそれを困難にするものです。 私は、RFC仕様に従うために入力データに完全に依存することができないBase64デコーダーを持っています。したがって、私が直面している問題は、おそらくBase64データのように78に分割されない可能性がある問題です(78だと思います。RFCを再確認する必要があるので、正確な数値が間違っていても、私に指示しないでください)。行、または行がCRLFで終わっていない可能性があります。CRまたはLFのみの場合もあれば、どちらもない場合もあります。 そのため、このようにフォーマットされたBase64データを解析するのに時間を費やしました。これにより、次のような例では確実にデコードできなくなります。簡潔にするために、MIMEヘッダーの一部のみを表示します。 Content-Transfer-Encoding: base64 VGhpcyBpcyBzaW1wbGUgQVNDSUkgQmFzZTY0IGZvciBTdGFja092ZXJmbG93IGV4YW1wbGUu わかりました、それで問題ない構文解析は、そしてまさに私たちが期待する結果です。また、99%の場合、コードを使用して、少なくともバッファー内の各文字が有効なbase64文字であることを確認すると、完全に機能します。しかし、次の例では、レンチを混ぜ合わせます。 Content-Transfer-Encoding: base64 http://www.stackoverflow.com VGhpcyBpcyBzaW1wbGUgQVNDSUkgQmFzZTY0IGZvciBTdGFja092ZXJmbG93IGV4YW1wbGUu これは、一部のウイルスやその他のメールリーダーでMIMEを解析しようとする一部のウイルスやその他のもので見られたBase64エンコーディングのバージョンです。もしそうなら。 私のBase64デコーダーは、2番目の例を次のデータストリームにデコードします。ここで、元のストリームはすべてASCIIデータであることに注意してください。 [0x]86DB69FFFC30C2CB5A724A2F7AB7E5A307289951A1A5CC81A5CC81CDA5B5C1B19481054D0D 2524810985CD94D8D08199BDC8814DD1858DAD3DD995C999B1BDDC8195E1B585C1B194B8 誰もが両方の問題を一度に解決する良い方法を持っていますか?異なるルールが適用されたデータに対して2つの変換を実行し、結果を比較する以外に、それが可能かどうかさえわかりません。しかし、そのアプローチをとった場合、どの出力を信頼しますか?ASCIIヒューリスティックスが最善の解決策であるように見えますが、このコードが実際に関与しているウイルススキャナーのような複雑なものに、コード、実行時間、および複雑さがどれほど追加されるでしょうか。どのようにしてヒューリスティックエンジンをトレーニングして、許容可能なBase64とそうでないものを学習しますか? 更新: この質問が引き続き取得するビューの数に応じて、C#アプリケーションで3年間使用してきた数十万トランザクションの単純なRegExを投稿することにしました。正直、ガンボの答えが一番好きなので、それを選んだのです。しかし、C#を使用していて、少なくとも文字列またはbyte []に​​有効なBase64データが含まれているかどうかを検出するための非常に迅速な方法を探している人にとって、私は次のことがうまく機能することがわかりました。 [^-A-Za-z0-9+/=]|=[^=]|={3,}$ そして、はい、これはBase64データのSTRINGのためのものであり、適切にフォーマットされたRFC1341メッセージではありません。したがって、このタイプのデータを処理する場合は、上記のRegExを使用する前にそのことを考慮してください。Base16、Base32、Radix、またはBase64を他の目的(URL、ファイル名、XMLエンコーディングなど)で扱う場合は、Gumboが彼の回答で述べたRFC4648を読むことを強くお勧めします。この質問/回答セットの提案を使用する前に、実装で使用される文字セットとターミネータを認識してください。

9
base64文字列をArrayBufferに変換します
base64エンコード文字列をArrayBufferに変換する必要があります。base64文字列はユーザ​​ー入力であり、メールからコピーアンドペーストされるため、ページが読み込まれたときに文字列は表示されません。可能であればサーバーにajax呼び出しを行わずに、JavaScriptでこれを実行したいと思います。 これらのリンクは興味深いものでしたが、役に立ちませんでした。 ArrayBufferからbase64でエンコードされた文字列 これは、逆の変換ではなく、ArrayBufferからbase64への逆変換です。 http://jsperf.com/json-vs-base64/2 これはよさそうですが、コードの使い方がわかりません。 変換を行う簡単な(おそらくネイティブな)方法はありますか?ありがとう

11
入力にBase64以外の文字が含まれているため、入力は有効なBase64文字列ではありません
ファイルを読み取り、バイト配列に変換してからBase64文字列に変換した後、別のコンソールアプリケーションに送信するRESTサービスがあります。この部分は機能しますが、同じストリームがアプリケーションで受信されると、操作され、有効なBase64文字列ではなくなります。一部のジャンクキャラクターがストリームに導入されています。 ストリームをバイトに戻すときに受け取る例外は次のとおりです。 入力には、Base 64以外の文字、3つ以上のパディング文字、またはパディング文字の中に空白以外の文字が含まれているため、有効なBase-64文字列ではありません。 サービス時: [WebGet(UriTemplate = "ReadFile/Convert", ResponseFormat = WebMessageFormat.Json)] public string ExportToExcel() { string filetoexport = "D:\\SomeFile.xls"; byte[] data = File.ReadAllBytes(filetoexport); var s = Convert.ToBase64String(data); return s; } アプリケーションで: var client = new RestClient("http://localhost:56877/User/"); var request = new RestRequest("ReadFile/Convert", RestSharp.Method.GET); request.AddHeader("Accept", "application/Json"); request.AddHeader("Content-Type", "application/Json"); request.OnBeforeDeserialization = resp => …
98 c#  file-io  base64 

3
電子メール署名のbase64エンコード画像
電子メールの署名にいくつかの画像(会社のロゴなど)を含める必要があります。問題の電子メールシステムによって生成された埋め込み画像(通常は添付ファイルとして送信されます)およびリンクされた画像(受信した電子メールに表示するための許可が必要)を使用すると、さまざまな問題が発生しました。 ロゴのbase64画像表現があり、タグを使用して表示する取引所からのメールを見たところです。可能であれば、電子メールの署名でこれを行う方法に関する情報を探しています(最初にbase64バージョンのロゴを生成するにはどうすればよいですか?それを機能させるにはどのコードが必要ですか?) 私は次のような簡単なことを試しました <body> <span> <img src=.... > </span> </body> しかし、私が得るのは代替テキストだけなので、明らかにここで何か間違ったことをしています。
97 html  image  email  base64 


4
base64でイメージソースを設定する方法
Imageソースをbase64ソースに設定したいのですが、機能しません。 JSfiddle.net/NT9KB <img id="img" src="" /> JavaScript document.getElementById("img").src = "data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAUA AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO 9TXL0Y4OHwAAAABJRU5ErkJggg=="

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.