問題タブ [magic-numbers]

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.

0 投票する
1 に答える
129 参照

macos - コア データの永続ストアに「マジック ナンバー」を付加する方法は?

コア データの永続ストアに「マジック ナンバー」データを追加することは可能ですか?

カスタム バイナリ ファイル形式を使用する古いアプリケーションがあります。各ファイルは、5 バイトのマジック ナンバー (たとえば0A 0B 0C 0D 0E) と 1 バイトの形式のバージョン識別子で始まります。その後、実際のデータが続きます。アプリケーションの既存のバージョンでは、ユーザーがファイルを開こうとすると、次のチェックが行われます。

  • ファイルの最初の 5 バイトがマジック ナンバーと一致しない場合、ユーザーは次のようなメッセージを受け取ります。ファイル拡張子が間違っている可能性があります。」</li>
  • マジック ナンバーは一致するが、バージョン ID がアプリケーションのバージョンが読み取ることができるものよりも大きい場合、ユーザーは「このアプリケーションの新しいバージョンでファイルが作成されました。新しいバージョンにアップグレードする必要があります。」</li>

同じファイル拡張子を使用し、古いバージョンのアプリケーションとの適切な互換性を維持しながら、新しいバージョンのアプリケーションのストレージにコア データを活用したいと考えています。新しいバージョンは、他のメッセージではなく、アップグレードする必要があるというメッセージを受け取る必要があります。これは可能ですか?そしてどうやって?

0 投票する
1 に答える
1781 参照

winforms - 43679はマジックナンバーですか?

最近、私はこの質問を調査していました: DataGridView C# に長い値を格納しています。いくつかのテストの後、値が実際にセルに格納されていて、プログラムでアクセスできる場合でも、43679DataGridViewCell文字を超える長さのテキストは表示されないことがわかりました。

実際、これは次のバグとしても報告されていSQL Server Management Studioます。SSMS - グリッド モードで列から 43679 文字を超える文字を貼り付けることはできません

この制限は、UI レンダリングの過負荷を防ぐためのものだと思います。しかし、私の質問は次のとおりです。

  1. なぜこの正確な値が使用されているのですか?
  2. この制限に関するドキュメントはありますか?
0 投票する
3 に答える
7952 参照

c# - StreamReader からの元のファイル バイト、マジック ナンバーの検出

「読めない」内容のファイルを効果的に無視したいので、「テキストファイル」と「バイナリ」ファイルを区別しようとしています。

GZIP アーカイブと思われるファイルがあります。マジック ナンバー / ファイル シグネチャを検出して、この種のファイルを無視しようとしています。Notepad++ で Hex エディター プラグインを使用してファイルを開くと、最初の 3 つの 16 進コードが1f 8b 08.

ただし、を使用してファイルを読み取った場合StreamReader、元のバイトに到達する方法がわかりません..

using ステートメントの最後には、次の変数値があります。

どちらも Notepad++ に示されている 16 進値で始まりません。

経由でファイルを読み取った結果から元のバイトを取得することは可能StreamReaderですか?

0 投票する
3 に答える
5078 参照

python - マジックナンバーを使わずに、ファイルが SVG であるとどのように言えますか?

SVGファイルは基本的にファイルでXMLあるため、文字列<?xml(または 16 進数表現: '3c 3f 78 6d 6c') をマジック ナンバーとして使用できますが、たとえば余分な空白がある場合、このチェックを破る可能性がある場合、それを行わない理由がいくつかあります。

私がチェックする必要がある/期待する他の画像はすべてバイナリであり、マジックナンバーを持っています。SVG最終的にPythonを使用して、拡張子を使用せずにファイルがフォーマットであるかどうかをすばやく確認するにはどうすればよいですか?

0 投票する
2 に答える
7518 参照

checkstyle - Java のチェックスタイル、MagicNumberCheck

ソースコードに関するレポートを取得するためにcheckstyleを使用しています。この質問はMagicNumberCheckに関するものです。

私はDate/(org.joda.)DateTimeこのように私のソースコードで使用しています:

マジック ナンバーが Date または DateTime 内にある場合、MagicNumberCheck 通知を抑制する方法はありますか?

0 投票する
1 に答える
405 参照

python - ブースト Python マジック ナンバー

Python で使用するためにいくつかの C++ 関数をラップしようとしています。たとえば、boost Python チュートリアルの関数は次のとおりです。

これを .pyc ファイルにコンパイルして Python にインポートしようとすると、次のエラーが表示されます。

ImportError: C:\hello_ext.pyc の不正なマジック ナンバー

別のフォーラムの方法を使用してマジック ナンバーを確認しましたが、間違っているようです。グーグルで検索しましたが、このエラー メッセージに関する有用な情報を見つけることができませんでした。これは私のビジュアル スタジオ プロジェクト ファイルの設定が悪いのではないかと思います。

Visual Studio 2010 サービス パック 1、python 2.7.3、およびブースト 1.53 を使用しています。

次のオプションでboostをコンパイルしました。

0 投票する
2 に答える
13748 参照

java - マジックナンバー問題の解決策は……?

次のコード セグメントを検討してください...

ケース3とケース4の3番と4番がSONARでマジックナンバーとして検出されるようになりました。

その問題を回避するために、コードセグメントを次のように変更しました...

これは、この種のシナリオでマジック ナンバーの問題を解決する良い方法ですか?.

0 投票する
6 に答える
10879 参照

java - ファイル拡張子が変更された場合でも、ファイルの種類を識別する方法は?

ファイルはファイル拡張子によって分類されます。私の質問は、ファイル拡張子が変更されていてもファイルの種類を識別する方法です。

たとえば、名前が のビデオ ファイルがあり、myVideo.mp4それを に変更しましたmyVideo.txt。そのため、それをダブルクリックすると、優先テキスト エディターがファイルを開き、正確なコンテンツは開きません。しかし、myVideo.txtビデオプレーヤーで再生すると、ビデオは問題なく再生されます。

ファイル拡張子をチェックせずにファイルの種類を判断するアプリケーションを開発し、ファイルを開くためのソフトウェアを提案することを考えていました。アプリケーションを Java で開発したいと考えています。

0 投票する
3 に答える
1249 参照

java - Java メイン メソッド マジック ナンバー

そのため、メイン メソッドにある 2 つのマジック ナンバーを取り除こうとしています。それらを静的フィールドにしようとしましたが、別のチェックスタイルエラーが発生します。メイン メソッドを checkstyle で完全にチェックアウトする方法を探しています。

これらは私が得るcheckstyleエラーです:

「2000」はマジックナンバー

「262」はマジックナンバー

これらは、静的フィールドを作成したときの checkstyle エラーです。

名前 'twothou' は、パターン '^[AZ][A-Z0-9]*(_[A-Z0-9]+)*$' と一致する必要があります。

名前 'twosixtytwo' は、パターン '^[AZ][A-Z0-9]*(_[A-Z0-9]+)*$' と一致する必要があります。

PS変数を非静的にしようとすると、コンパイルできなくなります。助けてくれてありがとう。