6

80 年代に作成されたデータベースを変換していますが、一部のテーブルの日付が文字として格納されているようです。2列のデータがあります。最初の列には、次のようにフォーマットされたデータがあります。

°& C2 024

2 番目の列はプレーン テキストの説明です。

Description of some stuff

データは「テーブル」ビューにインポートされます。C2 はテーブル ヘッダーを定義し、024 は行を定義し、°& はテーブル データが取り込まれる日を定義します。例:

 Date: 2/21/2007
       C1                   C2                       C3                   C4
 000
 003
 006
 009
 012
 015
 018
 021
 024                        Description of some stu...
 027

日付を16進数に変換し、16進数と文字マップを比較してみましたが、うまくいきませんでした。

http://smallbusiness.chron.com/convert-date-hexadecimal-56217.htmlの指示に従って、UNIX 日付を使用しようとしましたが、成功しませんでした。

サンプル値と既知の日付:

°&  -  2/21/2007
¬&  -  2/7/2007
+(  -  2/6/2007
ª&  -  2/5/2007
4

2 に答える 2

1

あなたの質問は、尋ねられたとおりに答えることができません。その日付列の数字を知ることは非常に重要です。それらは、30 年後にたまたま使用しているエンコーディングの文字列ではありません。

あなたはシーケンスに言及し°&ます。Linux を ISO 8859-1 エンコーディングで使用している場合、その度記号は B0 です。CP850 エンコーディングの Windows コンソールを使用している場合は、F8 です。また、データのエンディアンもわかりません+(

したがって、ビジネスの最初の順序は、列の実際のバイトを学習することです。それらを 16 進数で出力し、ビッグ エンディアンおよびリトル エンディアンとして解釈される 10 進数に変換します。そうすれば、エポックを確立できるパターンが見つかるかもしれません。そこからは新鮮なパウダーと青空。

于 2015-05-28T19:05:19.777 に答える
0

このページには、1900 年 1 月 1 日以降 (またはそれ以前) の日数を格納するために ASCII コードが使用されていると書かれています。 http://cs.pervasive.com/forums/p/11233/38076.aspx

于 2017-02-22T00:19:28.153 に答える