問題タブ [7-bit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bash - コマンドラインからテキストを 7 ビット ASCII に変換する
私はOS X 10.5.5を使用しています(ただし、それほど問題ではないと思います)
二重引用符、省略記号 ("...") などの派手な文字を 1 文字に含む一連のテキスト ファイルがあります。
これらのファイルを、できれば文字の意味を失うことなく、古き良きプレーンな 7 ビット ASCII に変換する必要があります (つまり、これらの省略記号を 3 つのピリオドに変換し、逆引用符を通常の "s などに変換します)。
それを行うには、スマートなコマンドライン (bash) ツール/スクリプトをアドバイスしてください。
c# - C# BinaryReader.ReadString の 7 ビット形式での整数のエンコード
C#
'sBinaryReader
には、MSDNによると、「7ビット整数」としてエンコードされた整数を読み取り、この整数の長さの文字列を読み取る機能があります。
7 ビット整数形式の明確なドキュメントはありますか (MSB または LSB は、読み取るバイトがさらにあるかどうかを示し、残りのビットはデータであると大まかに理解していますが、より正確なものがあればうれしいです)。
さらに良いことにC
、この形式で数値を読み書きするための実装はありますか?
php - PHPで文字を7ビット偶数パリティに変換する方法
文字を 7 ビットの偶数パリティに変換したいと考えています。これを実装する方法を教えてください。
android - AndroidでのSMSメッセージのデータエンコーディングの定義
私はAndroid用のSMSAPIを使用するアプリケーションに取り組んでいます。受信側は7ビットでエンコードされたSMSのみをサポートする組み込みユニットであり、送信する文字列はこの特定のアルファベットの記号のみで構成されているため、Androidは7ビットでエンコードされて送信するように思われます。しかし、そうではありません。
したがって、使用するエンコーディングを指定する方法を探しています。私のコードが今日どのように見えるかについては、以下を参照してください。gsm7BitPackedToStringメソッドは、バイト配列を7ビット文字列に変換します。つまり、文字列は7ビット互換の文字のみで構成され、内部のAndroidAPIからコピーされます。
私は次の解決策を検討しました:
- ある種の内部メソッドを使用していますが、私が読んだものはもう存在しないようです。
- データメッセージを送信しますが、これには、受信側もサポートしていない追加のユーザーデータヘッダーが必要です。
どんな助けでも大歓迎です:-)
perl - 7ビットテキストをプレーンテキストperlに変換する
電子メール メッセージを解析すると、エンコードされた部分が見つかりました: 7bit この部分のテキストをプレーン テキストに変換するにはどうすればよいですか? 私はパールを使います
python - ファイルをテキスト モードで開くと、Python でデータが失われる可能性があります。なぜですか?
codecs.open()
言及のためのドキュメント
バイナリ モードが指定されていない場合でも、ファイルは常にバイナリ モードで開かれます。これは、8 ビット値を使用したエンコードによるデータ損失を避けるために行われます。
ファイルにテキストモードを使用すると、どのように「データ損失」が発生する可能性がありますか? ファイルをテキスト モードで開くと、バイトが 7 ビットに切り捨てられるように思えますが、ドキュメントにはこれについての言及が見つかりません。テキスト モードは、改行を変換する方法としてのみ説明されており、潜在的なデータについては言及されていません。損失。では、ドキュメントは何をcodecs.open()
参照していますか?
PS : プラットフォーム依存の改行エンコーディングへの自動改行変換には注意が必要であることは理解できますが、問題は 8 ビット エンコーディングに固有のものについてです。エンコーディングが 8 ビットであるか 7 ビットであるかに関係なく、一部のエンコーディングのみが自動改行変換と互換性があると推測していました。では、なぜcodecs.open()
のドキュメントで 8 ビット エンコーディングが選択されているのでしょうか。
c# - Read7BitEncodedIntの使用についてサポートが必要
私はこれにRead7BitEncodedIntメソッドを使用する方法を2時間以上探していました。ファイルサイズを小さくするために何らかの方法で使用する必要があります(この場合は100MB以上になる可能性があります)。ほぼ同じことをするように見えるので、ReadStringメソッドの使用も検討していました。しかし、それはあまり適切ではないようで、私はそれがうまくいくかどうか本当にわかりません。これに代わるものがあり、私が気付いていない場合は、それを使用することもできます。
要約すると。Read7BitEncodedIntメソッドを次のコードに実装するにはどうすればよいですか?また、Write7BitEncodedIntへの私のメソッドも正しいかどうかはわかりません。
android - Base64は7ビットGSMエンコーディングと互換性がありませんか?
256バイトの長さのmd5のような文字列を160文字以内に圧縮できないため、Androidでマルチパートメッセージを使用してSMSをいくつかの部分に分割すると、受信者はSMSをリッスンし、それらのメッセージを結合することにしました。
ここから組み合わせアルゴリズムを使用します:Android-長いSMSの受信(マルチパート)
そして、いくつかのテストの結果、送信する前にBase64でエンコードしたにもかかわらず、送信したSMSが完全に混乱していることがわかりました。
SMSは7ビットのエンコーディング方法だと思っていたので、エンコーディングの問題かもしれないと思いました。
しかし、Base 64でエンコードされたメッセージを正常に送信しましたが、それは短く、1SMS以内でした。
私の質問は:
エンコードの問題である場合、160文字以内で完全に読み取り可能なBase64エンコードメッセージを送信できるのに、160文字を超えるメッセージを送信すると読み取り可能な結果が得られないのはなぜですか?
ここにコードを添付しました:送信する予定の文字列:
コード
SMSレシーバー:
ご協力いただきありがとうございます!
関連記事:256バイトの「MD5のような」文字列を160バイト以下に圧縮する方法はありますか?
かなり単純な長い文字列を与えても
また、Base64エンコーディングの有無に関係なく、受信者は正しい結果を得ることができません。
更新#2
テストに実際の電話を使用すると、受信者はbase 64なしで正しいメッセージを受信できます。これは、エミュレーターがテキストを文字化けさせたことが原因でした。
質問は終了しました。
助けてくれたみんなに感謝します!そして@Danに感謝します
アップデート:
2つの部分に分割されたbase64なしの文字列"0123456789ABCDEF...":
これが「0123456789ABCDEF...」の分割されたbase64文字列です。
c# - C# で PDU 文字列の特殊文字を 7 ビット データに変換する
次のことが必要な PDU エンコーダーを作成しようとしています。
- 文字列内の各文字を ASCII 値に変換します
- ASCII 値を 7 ビット バイナリに変換します
- この方法を使用して- 7 ビットを 8 ビットに変換します。最初のセプテットを取得し、次のセプテットの終わりから最初のセプテットが8ビットになるまで追加することにより、関数でこれを行っています(URLに示されているように)。これは基本的にずっと続いています。
- 8 ビット バイナリを使用して、PDU 文字列を 16 進数に変換できます。
以下を使用すると、これらすべてが正常に機能します。
ASCII = Convert.ToInt32(char)
Convert.ToString(ASCII, 2)
= 7ビットSeptetToOctet(7bit)
= 8bit (私の機能)Convert.ToString(Convert.ToInt32(8bit, 2), 16).ToUpper()
(1文字のみに変換する場合は0を追加しています)
ここで問題が発生します。デンマーク語の「ø」などの特殊文字を変換しようとすると、ASCII 値 248 がConvert.ToString(248, 2)
得られます。これにより、 11111000
(8 ビット) が得られます。したがって、'ø' を 7 ビット バイナリに強制的に変換する方法を知る必要があるか、または SeptetToOctet 変換 (これは提供された URL の変換) を修正する必要がありますが、バイナリとバイナリ変換について十分な知識を持っています。それを正しくする方法。
r - RプロジェクトとMQL4は、Rの予測オブジェクトをベクターに変換します
Rで予測パッケージを使用していますが、これにより予測オブジェクトが作成されます。
7ビットラッパーを使用してMQL4コードでRを使用できるように、予測をベクトルに変換したいと考えています。
予測コードの例:
これらのForecast、lo 80、hi 80などをベクトルに格納して、インジケーターで使用するためにRからMQL4にプルできるようにしたいと思います。
私は試した:
ただし、予測を引き出すと、次のようになります。
頭を動かすと、構造は次のように表示されます。
どんな助けでもいただければ幸いです。それは私が私のいじくり回すハハで前進するのを妨げています。
前もって感謝します。