圧縮rarを解凍すると解凍が100%までいくのですが「CRCが一致しません」とできてしまいます。。。
この圧縮ファイルはサイトから友人が書き込んでくれて結婚式の動画が入っています。。
他の友人は見れるそうなのですが・・・。
どんな方法でも結構です!
宜しくお願いします。。。

このQ&Aに関連する最新のQ&A

A 回答 (6件)

>CRCエラーが得てしまいました。

。。
WINRARで修復機能をつかってもダメたっだら、リカバリコードが付加されてなかったファイルですね。

たぶんCD-Rへの書き込み自体に失敗していると思います。
お友達から再度、正常なモノを貰って下さい。
    • good
    • 2

右クリックメニューでWinRARの解凍を選び、


「壊れたファイルを残す」にチェック入れて解凍して、
残されたファイルの再生はできませんか?
    • good
    • 9

ダウンロードに失敗している可能性が高いです。


再度ダウンロードし直してください。
    • good
    • 0
この回答へのお礼

CDRですので再度DLはできませんでした。

お礼日時:2005/04/06 14:10

CRC冗長エラーはファイルが破損してる時にでることが多いです。


DLしたデータの容量は合ってますか。
再度DLしてだめな場合は、WinRARなどの解凍ソフトが古い可能性もあります。
最新版でしょうか。
    • good
    • 1
この回答へのお礼

サイトからDLしたものではないので再DLはできませんでした。。
圧縮ファイルの容量は563MBあります。
またWinRARでNo.2さんの方法で最新版を試したましたがやはりできませんでした。。。

回答ありがとうございました。

お礼日時:2005/04/06 12:59

WinRARはお持ちですか?


お持ちでしたらWinRARを起動して、解凍したいファイルを選択します。
メニュー[ツール]→[書庫を修復]で修復できるかもしれません。

もしWinRARがなければ試用版で40日間お使い頂けます。

参考URL:http://www.diana.dti.ne.jp/~winrar/download.html …
    • good
    • 0
この回答へのお礼

実際試してみましたがやはりそこでもCRCエラーが得てしまいました。。。

お礼日時:2005/04/06 12:57

よく判りませんが、ダウンロードに失敗しているのでは。


可能ならもう一度やり直してみてはいかがです?

この回答への補足

CD-Rに焼いていただいた圧縮ファイルなので再DLということをすることができませんでした。

補足日時:2005/04/06 12:55
    • good
    • 1

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QCRC16コード作成プログラムについて

お世話なります。


PCと対象機械との通信を行おうと思っております。
内容としてCRC16のコードを使って、日時設定をPC→対象機器へ行いたいです。

CRC16の生成プログラムをいろいろ調べてみたところ、
今、自分のスキルでなんとかわかりそうなCRC16のソースが次の通りでした。
(行列の計算ぐらいならC言語で作れる程度です。。。)

unsigned short crc_cal(unsigned short lng, unsigned char *str)
{
unsigned short crc, i, j, t;

crc = 0xffff;

for (i = 0; i < lng ; i++)
{
crc ^= (unsigned short) str[i];

for (j = 1; j <= 8; j++)
{
if (crc & 1)
{ // carry bit on
crc = crc >> 1;
crc ^= 0xa001;
}
else
{ // carry bit off
crc = crc >> 1;
}
}
}
return crc;
}


“0C0C0C0C0C0C”と入力したら、CRCコードが算出されるプログラムを作りたく、
入力部分を作成してみたのですが・・・

int main(void)
{
unsigned short i,j, t;
unsigned char str[256];
unsigned char str0;
unsigned short crc;
int k=0;

printf("Please input key (HEX)\n");

for(k=0; k < 256; k++)
{
scanf("%c",&str0); // 文字列標準入力
if( str0=='\n') // Enterが押されたときの実行
{
str[k]='\0'; // 文末にNULL文字
break; // for文のループ終了
}
else
{
str[k]=str0; // NULLでなければ入力された文字を代入
}
}


crc = crc_cal(k,str);


printf("crc=%X\n", crc);

return 0;

}

文字列を分解して・・・やるんだろうなってまではなんとなくわかるのですが、
どのようにしたらよいでしょうか。。。

ご教授よろしくお願いします。

お世話なります。


PCと対象機械との通信を行おうと思っております。
内容としてCRC16のコードを使って、日時設定をPC→対象機器へ行いたいです。

CRC16の生成プログラムをいろいろ調べてみたところ、
今、自分のスキルでなんとかわかりそうなCRC16のソースが次の通りでした。
(行列の計算ぐらいならC言語で作れる程度です。。。)

unsigned short crc_cal(unsigned short lng, unsigned char *str)
{
unsigned short crc, i, j, t;

crc = 0xffff;

for (i = 0; i < lng ; i++)
{
crc ^=...続きを読む

Aベストアンサー

>私ともう一人だけで使うプログラムなので、入力された文字数が奇数、16進数以外の入力は気を付けるって前提でやります(^_^;)

使う側が気をつける。
ということでエラー処理を省いていくなら……

int main(void)
{
 unsigned char str[256],data[128],hexstr[3];
 unsigned short crc,len;

 printf("Please input key (HEX)\n");
 scanf("%255s", str);
 hexstr[2]='\0';
 for(len=0;len < (strlen(str)/2);len++)
 {
  hexstr[0]=str[len*2];
  hexstr[1]=str[len*2+1];
  data[len]=(unsigned char)strtol(hexstr, NULL, 16);
 }
 crc = crc_cal(len,data);

 printf("crc=%04X\n", crc);

 return 0;
}

こんなところでしょうかねぇ……。
# (strlen(str)/2)は変数に置き換えるかも知れませんが。
# まぁ、そのくらいはコンパイラの最適化が入りますかね……。

crc_cal()の中身に関しては…未検証ですけど……。

>私ともう一人だけで使うプログラムなので、入力された文字数が奇数、16進数以外の入力は気を付けるって前提でやります(^_^;)

使う側が気をつける。
ということでエラー処理を省いていくなら……

int main(void)
{
 unsigned char str[256],data[128],hexstr[3];
 unsigned short crc,len;

 printf("Please input key (HEX)\n");
 scanf("%255s", str);
 hexstr[2]='\0';
 for(len=0;len < (strlen(str)/2);len++)
 {
  hexstr[0]=str[len*2];
  hexstr[1]=str[len*2+1];
  data[len]=(unsigned cha...続きを読む

Qrarファイルが解凍できません

winrarで解凍しようとしたのですがエラーが出て解凍できませんでした
修復をしようとしたらプロセスがアクセス出来ません と言われました
どうしたらいいのかわからないので教えてください

Aベストアンサー

こちらで解凍してみて下さい
http://www.forest.impress.co.jp/lib/arc/archive/archiver/explzh.html
その結果エラーが出たら、エラー内容によってはデータの問題と分かります。
その場合はデータを再度入手あるいは再圧縮する必要がありますよ。

QCRC16計算について

CRC16のプログラムを作ったのでデバッグしていて気付いた事なのですが
(産業装置で使うMODBUS-RTUのソフト)
CRC16 x16+x15+x2+1
生成多項式 0xA001

CRC16でCRCを含めたデータを再CRCするとゼロになると言われておりますが
そうならないのですが何故でしょう?

もちろん、自分の作ったソフトが信用できないので他ソフトで検証


具体例
ベクターにあるCRC16の計算ソフト - CRC16.exe
http://blog.goo.ne.jp/masaki_goo_2006/e/50b20edb79f60964faeaefe6fa064469
これに文字列"ABCD" [0x4142,0x4344]を入れて計算実行

出力結果
 初期値:0xFFFF、出力XOR:0xFFFF、出力結果、右送り0x0F85


この出力を最初の文字列に追加する
0x4142,0x4344,0x0F85

結果は0xc7e6 となってゼロになりません
やりかたが違うのでしょうか?


尚、私の作ったプログラムと上記ソフトの結果が同じです
また、ネット上にある同様な他ソフトでも同じ結果でした
(もちろんCRC計算条件が同じ物)

尚、上記ソフトで
初期値:0x0000、出力XOR:0x0000、左送り:9AA8
この場合のみCRC追加しての再CRCはゼロになりました

ゼロになる場合とならない場合があるのでしょうか?

CRC16のプログラムを作ったのでデバッグしていて気付いた事なのですが
(産業装置で使うMODBUS-RTUのソフト)
CRC16 x16+x15+x2+1
生成多項式 0xA001

CRC16でCRCを含めたデータを再CRCするとゼロになると言われておりますが
そうならないのですが何故でしょう?

もちろん、自分の作ったソフトが信用できないので他ソフトで検証


具体例
ベクターにあるCRC16の計算ソフト - CRC16.exe
http://blog.goo.ne.jp/masaki_goo_2006/e/50b20edb79f60964faeaefe6fa064469
これに文字列"ABCD" [0x4142,0x4344]を入れて計...続きを読む

Aベストアンサー

すみません, 忘れてました.

CRC を計算するときには
1. 与えられたデータの下位 (ビット送りの反対側) に「初期値」を付加する
2. 生成多項式で割って余りを求める
3. 「出力XOR」との排他的論理和を計算する
という手順をとります. つまり,
「初期値:0x0000、出力XOR:0x0000、左送り:9AA8」
は (以下 16進で表記します)
1. データ列 41 42 43 44 に初期値 0000 を付加して 41 42 43 44 00 00 を得る
2. それを生成多項式で割って余り 9AA8 を得る
3. それと出力XOR 0000 との排他的論理和を計算して 9AA8 を求める
として得られた値です.

で, 「CRCを含めたデータを再CRCする」というのはこの場合
データ列 41 42 43 44 9A A8 に対して CRC を計算する
言い替えれば「データ列 41 42 43 44 に対し 9A A8 を初期値として CRC を求める」ということです (初期値の設定ができないので, 質問文に挙がっている CRC16.exe ではこのような計算はできません). 最後にある
「尚、上記ソフトで
初期値:0x0000、出力XOR:0x0000、左送り:9AA8
この場合のみCRC追加しての再CRCはゼロになりました」
はおそらく 41 42 43 44 9A A8 というデータを入力した結果だと思いますが, それは実際には
41 42 43 44 9A A8 00 00
に対して CRC を計算しています (41 42 43 44 9A A8 に対して CRC が 0 になるならこれに対しても 0 になるけど, それは「CRC が想定しているチェック方法」ではない).

ここまでは初期値 0000, 出力XOR 0000 なので簡単ですが, その他の値を使った場合には得られた CRC を「適切に」変化させた値を初期値にしないと「CRCを含めたデータを再CRCするとゼロになる」などという都合のいいことにはなりません.

ところで, 初期値と出力XOR が両方とも 0 なら右送りでも (左送りと同じ事情で) 最終的な CRC を 0 にできるんですけど, どうでしょうか?

すみません, 忘れてました.

CRC を計算するときには
1. 与えられたデータの下位 (ビット送りの反対側) に「初期値」を付加する
2. 生成多項式で割って余りを求める
3. 「出力XOR」との排他的論理和を計算する
という手順をとります. つまり,
「初期値:0x0000、出力XOR:0x0000、左送り:9AA8」
は (以下 16進で表記します)
1. データ列 41 42 43 44 に初期値 0000 を付加して 41 42 43 44 00 00 を得る
2. それを生成多項式で割って余り 9AA8 を得る
3. それと出力XOR 0000 との排他的論理和を計算して 9AA8 を求め...続きを読む

Q拡張子rarを解凍できるフリーウェア

拡張子rarを解凍できるフリーウェアを探しています。XP対応のものでおすすめなものありましたら教えてください。ちなみにzipの解凍はLhaPlusを使っています。

Aベストアンサー

WinRARはいかかですか?
かなり優秀です。
シュアウエアーですが無料期間が30日くらい有ったと思います。
ちなみに無料期間が過ぎてもメッセージはでますが使用可能です。

QCRCでメンテナンスはダメ?

KURE CRC 556でチェーンやスプロケット、ワイヤーに注油するのは避けた方がいいでしょうか?
専用の物のほうがいいということはわかってますが、
CRCならやらない方がマシなのか、
やらないよりCRCでも吹いた方がマシなのか、
やらないよりCRC吹いた方がマシだけど、何らかの後遺症が残るのではじめから専用オイル買ったほうがいいのか、
というあたりが知りたいです。

Aベストアンサー

5-56 を吹いてはいけない場所があります。ここに吹くと後遺症が残ります。壊れることもあります。
http://www.cso.co.jp/mente/mente002.html
他にハンドルのシフターにも吹いてはいけません。

ワイヤーもアウターケーブルの内部が樹脂の場合は 5-56 を吹くと後遺症が残るかもしれません。

チェーンは何もしないより 5-56 を吹いたほうがいいです。
吹いたあと黒い汚れを新聞紙で軽くぬぐってあげるとなおよいです。
チェーン以外に 5-56 がかからないように周りを新聞紙で覆ってあげると完璧です。
5-56 の場合は、錆びないように毎週吹きましょう。

スプロケットはチェーンに注油していれば注油の必要はありません。

5-56 は効果がある期間が短いので、ホームセンターで100円ほどのものでもいいので(オートバイ用ではなく)自転車用のチェーンオイルを買うほうが 5-56 を使いつづけるよりお徳です。

高いスポーツ自転車用オイルも小ボトルなら500円から買えます。なかなかなくなりません。

5-56 を吹いてはいけない場所があります。ここに吹くと後遺症が残ります。壊れることもあります。
http://www.cso.co.jp/mente/mente002.html
他にハンドルのシフターにも吹いてはいけません。

ワイヤーもアウターケーブルの内部が樹脂の場合は 5-56 を吹くと後遺症が残るかもしれません。

チェーンは何もしないより 5-56 を吹いたほうがいいです。
吹いたあと黒い汚れを新聞紙で軽くぬぐってあげるとなおよいです。
チェーン以外に 5-56 がかからないように周りを新聞紙で覆ってあげると完璧です。
5-...続きを読む

Qrar解凍方法

windows vista
wiirarを使用しています。
451MBのrarファイル解凍しようとしましたが、容量が足りなくて解凍できないとエラーがでました。
しかし解凍先はローカルディスク(D)65.1GB中64.6GBも空いています。
ちなみにCで解凍しようとしてもやっぱりできませんでした。(空き容量464GB/561GB)
容量は足りていると思うのですが、どうして解凍できないんでしょうか?

Aベストアンサー

 ボリュームが足りないとエラーが出ているので。


 rarで分割圧縮ファイルなので解凍するためには分割された全部のファイルがしつようです。




  http://www.oshiete-kun.net/archives/2009/09/8_0010.html

参考URL:http://www.oshiete-kun.net/archives/2009/09/8_0010.html

QVC6でCRC64・CRC128が出来るソースを探しています。

VC6でCRC64・CRC128が出来るソースを探しています。
CRC自体がよくわかっていないので、実際に動作させて理解しようとネットでソースを見つけようとしていますが、うまくコンパイルできるものが見つかりませんでした。

通常はCRCに1バイトをわたすもの?が多いのですが、できましたら文字列(長さは可変長)も扱える高速な関数を探しています。

よろしくお願いいたします。

Aベストアンサー

★『CRC32』の精度では駄目なのですか?
・下に 32 ビットですが CRC32 のコードを載せておきます。今後の参考にして下さい。

サンプル:
DWORD GetCRC32( LPCTSTR lpString )
{
 DWORD dwCode = 0xFFFFFFFF;
 int no;
 
 while ( *lpString != '\0' ){
  for ( dwCode ^= (((DWORD)*lpString) << (32 - 8)), no = 0 ; no < 8 ; no++ ){
   if ( dwCode & 0x80000000 ){
    dwCode = ((dwCode << 1) ^ 0x04C11DB7);
   }
   else{
    dwCode <<= 1;
   }
  }
  dwCode = (~dwCode & 0xFFFFFFFF);
 }
 return( dwCode );
}

最後に:
・http://apollo.backplane.com/matt/crc64.html→『18.2 million dataset CRC-64 test & Program source』
・http://www.efg2.com/Lab/Mathematics/CRC.htm→『efg's Mathematics Projects -- CRC Calculator』
・上記のリンクを参考文献としてお使い下さい。
・以上。おわり。

★『CRC32』の精度では駄目なのですか?
・下に 32 ビットですが CRC32 のコードを載せておきます。今後の参考にして下さい。

サンプル:
DWORD GetCRC32( LPCTSTR lpString )
{
 DWORD dwCode = 0xFFFFFFFF;
 int no;
 
 while ( *lpString != '\0' ){
  for ( dwCode ^= (((DWORD)*lpString) << (32 - 8)), no = 0 ; no < 8 ; no++ ){
   if ( dwCode & 0x80000000 ){
    dwCode = ((dwCode << 1) ^ 0x04C11DB7);
   }
   else{
    dwCode <<= 1;
   }
  }
 ...続きを読む

Qrar形式の解凍 WinRAR

rar形式のファイルをWinRARを使って解凍したいのですが、右クリックして「ここに解凍」すると97%のところで止まって「解凍を続けるためには次のボリュームが必要です」と出て完全に解凍できません。
Lhaplusを使っても途中で止まってできません。
どうしたらいいでしょう。
ちなみに持ってるWinRARは試用期間の40日は過ぎています。

Aベストアンサー

WinRARでもLhaplusでも出来なくて
「解凍を続けるためには次のボリュームが必要です」って出るって事は
ファイルが全部揃ってないんじゃないですか?

part4が足りないんだと思います


解凍する前に全部結合してからやらないといけないということはありません

QCRCのアルゴリズムって、どんな計算するんですか?

こんにちはお世話になります。
私はネットワークに興味があるオジサンです。
先日、データリンク層のプロトコル群を勉強していたとき、誤り訂正でCRCが出てきました。誤り訂正ではパリティーチェックやチェックサム等は聞き覚えがありましたが、CRCは始めて見たので興味を持ち少し調べてみようと思いました。
それが間違いの元でした。
インターネットでCRCの構造を詳しく解説するサイトが少なく、その解説は難しすぎて手におえません。
数学にはめっぽう弱い私には、多項式同士の加減乗除算などは頭痛の肥やしにしかなりません。
今ではCRCが気になって勉強に集中できない状態です。
そこで、表題にもあるCRCのアルゴリズムを、何方か分かり易く教えてくださいませんか。もしくは、CRCのアルゴリズムを簡単に解説している書籍をご存知でしたら教えてください。
カテゴリー(本来は数学系?)が違うかもしれませんが、何卒よろしくお願い申し上げます。

Aベストアンサー

偶数パリティについておさらいすると、1 となるビットの個数が偶
数になるように、検査ビットを定めるというものですよね?で、検
査側では、1 の個数を数えて奇数だとエラーと判断するわけです。

実は、この偶数パリティというチェックのしかたは、CRC の一種な
んです。CRC では、ある特定の生成多項式を使いますが、CRC の生
成多項式として x + 1 を使ったものが偶数パリティです。

多項式の加減乗除で頭痛ということなら、ちょっと説明が厳しいの
ですが、2進数の加減乗除はできるでしょうか?これがだいじょう
ぶなら、1+1=0(つまり、0-1=1)という世界での2進数の加減乗除
を考えるということでも同じです。

この場合、x+1 という多項式は、11 と考えます。(xのi乗の係数
を第iビットの値とみなす)

例えば、10110 というデータに対して、11 という生成多項式で
CRC の検査ビットを求めるには、生成多項式の桁数-1=1ビット
分データを左にシフトして、101100 を得ます。この値を、上の特
殊な2進数の世界で、生成多項式の 11 で割ります。そうすると、
商として 11011、余りとして 1 が得られます。試しにやってみて
ください。この余りを、101100 から引いて(特殊な2進数の世界で
は足すのと同じ)やると、101101 が出ます。これが送るべき符号
ということになります。実際、1の個数は偶数ですので、付け足し
たビットが偶数パリティとなっていることがわかります。

余りの分を引いたわけですから、このデータは 11 で割り切れるは
ずですので、検査側では 11 で割って、余りが 0 であることを確
認すればいいわけです。

この生成多項式の選び方で、検査の能力が変わってきます。やみく
もに選んだら、検査能力がまったくなくなります。通常の CRC は、
それを考慮してうまく多項式を作ってあるというだけのことです。

なぜ 11 なら偶数パリティと同じなのかとか、生成多項式をどう選
べばいいかとかについては、符号理論の勉強が必要です。前者はそ
れほど難しくはないですが。

偶数パリティについておさらいすると、1 となるビットの個数が偶
数になるように、検査ビットを定めるというものですよね?で、検
査側では、1 の個数を数えて奇数だとエラーと判断するわけです。

実は、この偶数パリティというチェックのしかたは、CRC の一種な
んです。CRC では、ある特定の生成多項式を使いますが、CRC の生
成多項式として x + 1 を使ったものが偶数パリティです。

多項式の加減乗除で頭痛ということなら、ちょっと説明が厳しいの
ですが、2進数の加減乗除はできるでしょうか?こ...続きを読む

QCRCが一致しません。

WinRarを開き中のファイルをデスクトップに落とそうとしたところ、「~aviのCRCが一致しません」というエラーが出てしまいます。対処法ご存知の方宜しくお願い致します。

Aベストアンサー

違うツールを使ってみて下さい
http://www.forest.impress.co.jp/lib/arc/archive/archiver/explzh.html
それでも同じならデータに問題があります。
再度入手するか再作成する事です。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング