[過去ログ] 文字コード総合スレ Part12 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
48: デフォルトの名無しさん [] 2018/12/20(木) 21:53:38.53 ID:/Up9dRku(6/8) AAS
そんなファイル読み込むときに
普通にintなんか使わないからな
そんなことは低学歴知恵遅れしか発想できない
utf16なら16bit単位(uint16_t)
utf32なら32bit単位(uint16_t)
で読み込む
リトルエンディアンの計算機で
ビッグエンディアンのUnicode読む場合は
16bit単位なら16bit単位でオクテット列の並びを逆転させる
32bit単位なら32bit単位でオクテット列の並びを逆転させる
リトルエンディアンの計算機で
リトルエンディアンのファイル読み込むならオクテット列の並びを逆転させる必要はない
ビッグエンディアンならその逆になる
低学歴知恵遅れはこういった基本的な理解がない
49: デフォルトの名無しさん [sage] 2018/12/20(木) 21:59:01.65 ID:gpCj1726(2/3) AAS
>>4545(1): デフォルトの名無しさん [] 2018/12/20(木) 21:38:37.03 ID:/Up9dRku(4/8) AAS
char unko
char foo
int aho
short poi
char baka
int manuke
short boo
char woo
↓
int manuke
----
int aho
----
short poi
short boo
----
char unko
char foo
char baka
char woo
64bitでも考え方は同じ
強制パッキングのオプション使えるコンパイラもある
C/C++の規格じゃ構造体のメンバは宣言された順にアドレスが増加するよう並べられることになっている。
仮に>>45のような最適化を行うことができる処理系が存在したとしても、一般的と言えるものではない。
50: デフォルトの名無しさん [sage] 2018/12/20(木) 21:59:21.79 ID:KozHiIkR(1) AAS
one little two little three little endians
51: デフォルトの名無しさん [] 2018/12/20(木) 22:00:12.93 ID:/Up9dRku(7/8) AAS
だからそう書いてる
手動で自分で並べ替える
52: デフォルトの名無しさん [sage] 2018/12/20(木) 22:12:47.37 ID:gpCj1726(3/3) AAS
自分で並べ替えろって話か。それは勘違いした、すまん。
53: デフォルトの名無しさん [sage] 2018/12/20(木) 22:23:36.55 ID:tzmwAGAt(1/2) AAS
結局C/C++でもアライメント意識して、自分で適切な型を選択しているってわけさ
他の言語でも一緒。ただし型が違うからバイト数を指定するだけの話
54: デフォルトの名無しさん [sage] 2018/12/20(木) 23:02:54.77 ID:Epiz8Tj2(5/5) AAS
PGならば、楽するためにJava/C#/Python/Perl/Rubyなどを使ってたはずなのに、C++よりめんどくさくなって心が折れそうになる経験を一度はしておいたほうがいい。
55: デフォルトの名無しさん [sage] 2018/12/20(木) 23:23:21.93 ID:tzmwAGAt(2/2) AAS
いや、C++よりも面倒なことってないから
そんな経験するのは無理だよ
56: デフォルトの名無しさん [] 2018/12/20(木) 23:49:16.62 ID:/Up9dRku(8/8) AAS
やはり低学歴知恵遅れには
C++はむり
レスみればよく分かる
レスから頭の悪さがにじみ出てる
低学歴のレスはすぐにわかるわ
残念なことに
57(1): デフォルトの名無しさん [sage] 2018/12/21(金) 12:36:36.76 ID:C7PBMVlX(1) AAS
データのアラインメントはどんな言語を使うにしても気にする必要がある。
しかし、Windows が VisualC++ でビルドされていて、VisualC++
もしくは互換のアラインメントができる言語でアプリを組めば、
気にしなくてもよい、ということだけだろう。
58: デフォルトの名無しさん [sage] 2018/12/21(金) 14:56:12.53 ID:wVAQd9sY(1/3) AAS
>>57
gcc も同じだよ。64bit版linux gccはwchar_tを16ビットにするか32ビットにするかを切り替えビルドできるからさらに厄介。
構造体を丸ごとダンプしたバイナリデータを同じOS上の別プロセスに渡すのは繊細な注意がいる。
59: デフォルトの名無しさん [sage] 2018/12/21(金) 16:01:10.01 ID:2iFVCAc3(1/4) AAS
で、なんだっけ?バイナリファイルのデータが
16bitで格納されていようが32bitで格納されていようが
C/C++だったらアライメントを勝手に調整してくれるんだっけw
へー、勝手にねー、intで扱ってれば、勝手に調整してくれるんだーw
60: デフォルトの名無しさん [] 2018/12/21(金) 16:43:13.79 ID:wVAQd9sY(2/3) AAS
intが16bitの組み込み向けプログラムであっても同じコンパイルオプションで作ったモジュール同士ならバイナリの復元はC言語の型キャストだけで可能。
構造体が仕様として公開されている場合、どの言語であれアラインメントを意識した実装が必要になるが、C言語は実装コストが最も低くなる傾向はある。
スクリプト言語を使う人がアラインメントを意識せずにすんでいるのは、ライブラリ実装した人が頑張ってくれた・くれているおかげ。
61(1): デフォルトの名無しさん [sage] 2018/12/21(金) 17:01:59.77 ID:2iFVCAc3(2/4) AAS
一方他の言語では、指定したオフセットから何バイト読み込むか指定するだけなのであった
62: デフォルトの名無しさん [sage] 2018/12/21(金) 17:02:51.29 ID:2iFVCAc3(3/4) AAS
C言語は、ヘッダファイル書いた人が頑張ってくれた・くれているおかげ
63(1): デフォルトの名無しさん [sage] 2018/12/21(金) 17:23:19.85 ID:wVAQd9sY(3/3) AAS
>>61
先生。指定したオフセットから何バイト読み込むか指定する作業は、まさにアセンブラと同レベルの作業じゃありませんか。違いますか、先生。
64: デフォルトの名無しさん [sage] 2018/12/21(金) 17:47:28.44 ID:2iFVCAc3(4/4) AAS
>>63
違いますね。memcpy相当ですから
65(1): デフォルトの名無しさん [sage] 2018/12/21(金) 18:13:53.48 ID:ORTv1gtC(1) AAS
低学歴知恵遅れ先生はC/C++スレだけじゃなくてここにもくるようになったのか
66: デフォルトの名無しさん [sage] 2018/12/21(金) 21:50:05.59 ID:0muy2Btq(1) AAS
>>65
色んなところにいるよ
67: デフォルトの名無しさん [sage] 2018/12/21(金) 22:02:28.52 ID:SVNbSsFy(1) AAS
相変わらず日本語の読解に問題がありそうな奴がいるなぁ。
68: デフォルトの名無しさん [] 2018/12/21(金) 23:50:03.63 ID:j37Ohb1y(1) AAS
まず低学歴知恵遅れは
低学歴知恵遅れの自覚がないからな
69: デフォルトの名無しさん [] 2018/12/22(土) 11:38:13.24 ID:boWDflNh(1) AAS
実行時に使用中のCPUがLEかBEかを判定するプログラムを
Cでサンプル欲しいのですがどこかにありますか?
70: デフォルトの名無しさん [sage] 2018/12/22(土) 13:36:46.26 ID:aa5NQG9N(1) AAS
bool is_bigendian() {
return htons(1) == 1;
}
71: デフォルトの名無しさん [sage] 2018/12/31(月) 08:52:03.67 ID:Tj5kujd4(1) AAS
C1制御文字の<128>って多くの文字コードで「PAD」と名付けられているのに
UnicodeでのU+0080はxxxみたいに無名なのって理由ある?
72(1): デフォルトの名無しさん [sage] 2018/12/31(月) 13:29:33.60 ID:8Z6ezMyM(1) AAS
U+0080,U+0081,U+0084,U+0099は、ISO6429/ECMA-48で制御文字に含まれていない
というか削除されてる
外部リンク[htm]:www.ecma-international.org
外部リンク[pdf]:www.ecma-international.org
WikipediaソースによるとUnicode初期ドラフトにはU+0080も入っていたみたいなことも書かれてるね
外部リンク:en.wikipedia.org
上下前次1-新書関写板覧索設栞歴
あと 930 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.013s