facebook twitter hatena line google mixi email
★お気に入り追加


■ このスレッドは過去ログ倉庫に格納されています

  • 1
  •  
  • 2012/11/30(金) 13:16:02.46
プログラマーなら一度は煩わされたことのある文字コードについてのスレ。
UTF-8、ShiftJIS、JIS、EUC、Uincode、 UCS、サロゲートペア、コードポイント、文字コード判定、
合成文字、ソート、TRON、外字コード、その他について語り合いましょう。
各言語での文字列の扱いについての質問もOKです。
基本マッターリ、ささ、茶でもどうぞ。

■過去スレ
文字コード総合スレ part1 http://pc11.2ch.net/test/read.cgi/tech/1031028205/
文字コード総合スレ part2 http://pc11.2ch.net/test/read.cgi/tech/1143375639/
文字コード総合スレ part3 http://pc11.2ch.net/test/read.cgi/tech/1180250376/
文字コード総合スレ part4 http://pc11.2ch.net/test/read.cgi/tech/1228052369/
(スレ再利用)UnicodeとUTF-8の違いは? http://pc12.2ch.net/test/read.cgi/tech/1177930957/
(隔離スレ)UnicodeとUTF-8の違いは? その2 http://pc12.2ch.net/test/read.cgi/tech/1274937437/
文字コード総合スレ part5 http://pc12.2ch.net/test/read.cgi/tech/1236529563/
文字コード総合スレ part6 http://hibari.2ch.net/test/read.cgi/tech/1278923059/
文字コード総合スレ part7 http://toro.2ch.net/test/read.cgi/tech/1306595564/

ここまで見た
  • 205
  •  
  • 2013/04/06(土) 18:00:17.69
話題なさすぎワラタ

ここまで見た
  • 206
  •  
  • 2013/04/07(日) 00:33:20.23
Javaのnative2asciiが出すエスケープ変換をC/C++のプログラム中でやりたいのですが
簡単な方法はありますかね?
あ、入力はUTF-8なんですが。

そういえばあれって名前はasciiと言ってるけど実際にはISO 8859-1以外をエスケープ
するという噂を耳にしたんですが...

ここまで見た
  • 207
  •  
  • 2013/04/07(日) 02:33:07.04
>>206
1.UTF-8をUTF-16に変換します
2.80hより大きなコードポイントをエスケープします

ほらできた!

ここまで見た
  • 208
  •  
  • 2013/04/07(日) 02:43:29.97
>>207
んーと、
UTF-8 -> UTF-16はどうしたらいいですかね。何かおすすめのライブラリはあります?
あるいは自前で変換します?
ASCIIより上をエスケープすべきという主張ですね。
あとサロゲートはどうしたらいいんですかね。
できるだけnative2asciiの挙動と一致させたいのですが。

ここまで見た
  • 209
  •  
  • 2013/04/07(日) 02:51:00.36
ttp://www.seiai.ed.jp/sys/text/java/utf8table.html
UTF-8は1〜4バイト(初期の定義では6バイトまで)の可変長コード
00-7x 1バイト文字 US-ASCIIにおなじ
8x,9x,Ax,Bx 多バイト文字の2バイト目以降
Cx,Dx 2バイト文字の開始バイト
Ex 3バイト文字の開始バイト
Fx 4バイト以上の文字の開始バイト

つまり
00-7fは元の文字
c0-ffなら「u」+バイト列をそれぞれ出せばいいわけだろ

UTF-16なんて必要ないな
native2asciiの挙動?
使いもしねえもの知るかよ

ここまで見た
  • 210
  •  
  • 2013/04/07(日) 02:58:03.93
>>208
1.Unicode規格を読みます
2.規格に従い、UTF-8をUTF-32に変換します
3.規格に従い、UTF-32をUTF16にへんかんします。
このとき、サロペも処理します。

ただしJavaがjarで使用するニセUTF-8が入力の場合は
UTF-8を直接UTF-16に変換する必要があります。

ほらできた!

ここまで見た
  • 211
  •  
  • 2013/04/07(日) 04:27:18.60
# cl引数を変換
--
#include <stdio.h>
#include <string.h>

int main(int argc, char *argv[]) {
unsigned char* b; unsigned char* h = argv[1];
int i, hlen; hlen = strlen(h); memcpy(b, h, hlen);
printf("ori:\n%s\nuni:\n",h);
for(i = 0; i < hlen; i++) {
if ((*(h + i)) < 128) {/* [0-7]*なら元の文字 */
printf("%c", *(h + i));
}else{
if ((*(h + i)) > 191) { printf("\\u"); }/* [cdef]*なら\u追加 */
printf("%02X", *(h + i));
}
}
printf("\n");
}
--
>na r元の8文字
ori:
r元の8文字
uni:
r\uE58583\uE381AE8\uE69687\uE5AD97

ここまで見た
  • 212
  •  
  • 2013/04/07(日) 04:27:30.15
馬鹿には無理

ここまで見た
  • 213
  •  
  • 2013/04/07(日) 05:39:51.63
>>208 適当に書いてみた。こんな感じ。
http://ideone.com/2StvbL

ここまで見た
  • 214
  • 213
  • 2013/04/07(日) 10:01:46.67
Windows限定ならこんな漢字
------------
#include <cstdio>
#include <vector>
#include <Windows.h>
using namespace std;

int main()
{
 char const *p_org="\xE3\x81\xBE\xE3\x82\x93\xE3\x81\x93z"; // UTF-8文字列。

 auto len = ::MultiByteToWideChar(65001, MB_ERR_INVALID_CHARS, p_org, -1, nullptr, 0);
 vector<wchar_t> utf16s(len);
 ::MultiByteToWideChar(65001, MB_ERR_INVALID_CHARS, p_org, -1, &utf16s[0], (int)utf16s.size());

 for ( auto &ch : utf16s )
 {
  if ( ch == 0 )
   break;
  else if ( ch < 0x80 )
   printf("%c", (int)(ch));
  else
   printf("\\u%04x", (int)(ch));
 }
}

ここまで見た
  • 215
  •  
  • 2013/04/09(火) 03:27:39.08
どうせ、UTF8とかサロゲートペアとか順番に解釈しないといけなくなるんだったら、
コードページ切り替え方式でよかったのにな

ここまで見た
  • 216
  •  
  • 2013/04/09(火) 17:21:58.60
ブラジルポルトガル語 と ポルトガルポルトガル語の
アルファベットは同じでしょうか??

ポルトガルポルトガル語のフォントでブラジルポルトガル語が
表現できるのかを調べています。

ご存知の方回答よろしくお願いします。

ここまで見た
  • 217
  •  
  • 2013/04/09(火) 17:34:57.34
同じなので表示できます。

ここまで見た
  • 218
  •  
  • 2013/04/09(火) 17:35:46.30
>>217
 回答ありがとうございました。m(__)m

ここまで見た
  • 219
  •  
  • 2013/04/09(火) 17:59:23.08
そーゆーのの違いて基本colorとcolourみたいなもんだろ

ここまで見た
  • 220
  •  
  • 2013/04/09(火) 18:04:39.90
>>219
 やっぱり、スペルと発音だけの違いですか。

ここまで見た
  • 221
  •  
  • 2013/04/09(火) 20:05:31.51
厳密に知りたいならポルトガル語 正書法でググるよろし

ここまで見た
  • 222
  •  
  • 2013/04/10(水) 12:13:56.89
>>219
そうか?繁体字と簡体字くらいの違いはあるかも知れんぞ

ここまで見た
  • 223
  •  
  • 2013/04/12(金) 15:20:03.40
なんかそういうのあったな。
ダイアクリティカルマークだったか合字だったか忘れたけど、
コードポイントは同じでも国によって微妙なデザインを使い分けないと現地民にプギャられるってやつ。

ここまで見た
  • 224
  •  
  • 2013/04/12(金) 21:42:52.95
ちょっと点の向きや形が違うと言って大騒ぎ。
しまいにゃ文字幅がどうこう言い出す始末。
そんな現地民が東アジア方面にいるとかいないとか

ここまで見た
  • 225
  •  
  • 2013/04/12(金) 22:15:53.06
ピンインの二声・四声の話かな?
どれぐらい現地民が気にしてるのかわからないけど。

ここまで見た
  • 226
  •  
  • 2013/04/13(土) 02:20:28.57
その国には "立" の一画目が横か縦かを真面目な学問として
研究して金をもらっている連中もいるらしい

ここまで見た
  • 227
  •  
  • 2013/04/13(土) 03:44:23.55
あまり面白い皮肉じゃないな

ここまで見た
  • 228
  •  
  • 2013/04/13(土) 23:10:53.74
研究してる奴らって立たなくなった奴ばっかりなんだろ

ここまで見た
  • 229
  •  
  • 2013/04/15(月) 12:09:40.57
>>226
「龍」の方がおもしろいな

ここまで見た
  • 230
  •  
  • 2013/04/15(月) 21:27:01.56
「正しい字形」は横なのに縦で教えるダブスタ大杉

ここまで見た
  • 231
  •  
  • 2013/04/15(月) 23:43:58.32
>>208
iconv

ここまで見た
  • 232
  •  
  • 2013/04/16(火) 04:06:42.93
>>209
>UTF-16なんて必要ないな
InDesignというDTPソフトにunicodeテキストを配置する場合、
UTF-16BEなんてもんにしなくちゃいけないんざますの。

ここまで見た
  • 233
  •  
  • 2013/04/16(火) 04:58:55.88
>>209はutf8を\u****形式に変換する話してるのに>>232
知障ですか?

ここまで見た
  • 234
  •  
  • 2013/04/16(火) 06:20:11.15
要るんです、という話をしただけですのよ。ちなみにわたくしエディタで変換してますわ。

ここまで見た
  • 235
  •  
  • 2013/04/28(日) 14:29:25.02
そして誰も

ここまで見た
  • 236
  •  
  • 2013/04/29(月) 22:33:06.77
今はもう

ここまで見た
  • 237
  •  
  • 2013/04/30(火) 03:22:01.47
初夏

ここまで見た
  • 238
  •  
  • 2013/05/01(水) 15:50:42.12
5月か
早いな

ここまで見た
  • 239
  •  
  • 2013/05/01(水) 23:51:25.22
アレってどうなったんだっけ

ここまで見た
  • 240
  •  
  • 2013/05/03(金) 22:41:27.92
ドレ?

ここまで見た
  • 241
  •  
  • 2013/05/03(金) 23:27:41.29
何の&#x30FF;?

ここまで見た
  • 242
  •  
  • 2013/05/04(土) 19:08:59.48
コト点でないのか

ここまで見た
  • 243
  •  
  • 2013/05/05(日) 00:20:52.26
BBS_UNICODE=passは万能ではないってこと?

ここまで見た
  • 244
  •  
  • 2013/05/05(日) 00:47:04.03
てすと ヿ

ここまで見た
  • 245
  •  
  • 2013/05/05(日) 11:06:17.17
数値参照だと出るの?ヿ

ここまで見た
  • 246
  •  
  • 2013/05/05(日) 13:44:32.35
241は & が変換されてる

ここまで見た
  • 247
  •  
  • 2013/05/05(日) 17:19:43.57
テスト
&#x30FF;

ここまで見た
  • 248
  •  
  • 2013/05/05(日) 17:20:33.68
変換されるなあ

ここまで見た
  • 249
  •  
  • 2013/05/10(金) 02:10:52.50
Open2chの文字コードは、UTF-8だ

<html lang="ja">
<head>
<title>宝くじ@open2ch掲示板</title><style>body{ margin:0; padding:0;}</style>
<link rel="alternate" type="application/rss+xml" title="RSS" href="http://http://engawa.open2ch.net/loto/index.rdf" />
<link rel="alternate" type="application/atom+xml" title="Atom" href="http://http://engawa.open2ch.net/loto/atom.xml" />
<script type="text/javascript" src="/lib/jquery/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="/lib/common.js?v2"></script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="/lib/main.css?x" type="text/css" rel="stylesheet" />
</head><body text=#000000 link=#0000FF alink=#FF0000 vlink=#660099 background=/image/ba.gif>

ここまで見た
  • 250
  •  
  • 2013/05/12(日) 00:29:20.32
Old Hungarianは泥沼だな…

ここまで見た
  • 251
  •  
  • 2013/05/12(日) 15:25:57.78
よく知らない人でもわかるように簡単な解説希望

ここまで見た
  • 252
  •  
  • 2013/05/12(日) 23:40:04.51
Eversonが昔出した提案を前進させようとしたらハンガリー国内よりカウンター提案が
出てきた
そっちは稚拙だったのでEversonペースで進みかけたけど、カウンター提案者が
ハンガリーNBの座を獲得したので意向を無視できなくなった

以後ハンガリー国内で支持が割れて、この度ハンガリー国内から「今のEversonベースの
符号化案のまま行ってくれ」という署名リスト(N4420)と、「今の符号化案を投票から
外せ」という署名リスト(N4422)が届いた

ここまで見た
  • 253
  •  
  • 2013/05/12(日) 23:53:19.67
おっおおう…頭抱えたくなる状況だな

ここまで見た
  • 254
  •  
  • 2013/05/13(月) 12:17:49.20
なんか難しい話だな。
n4368(Everson)とn4367の戦いってことみたいだけど、
一例にdzの話を読むと、(梯子zの横に棒がついた文字)
これはもともとold hungerianになかった音/文字で、
n4368は現代では使わないから必要ないって立場(n4368 1.2)
n4367はこれは単なるd+zじゃないんだよ(n4367 5.4.1)

読み込めてないけど、
n4368は現代ハンガリー語に対応する正書法の提案も含まれていて、
n4367は歴史的な経緯を踏まえた提案になっている感じか。
たぶんold hungerianを、現代に復活させようとしている派(n4368)と、
歴史的な文字として登録しようとしている派(n4367)の戦いじゃないか。
n4420の"everyday use"とか、n4368 1.2の後半読むと。
学校でold hungerianを使わせる計画があるみたいだ。

ここまで見た
  • 255
  •  
  • 2013/05/13(月) 13:54:42.87
こういうのっていろんな分野で政治行政と歩調を合わせないといけないからほんと難しいよね。
単に自分(規格がらみ)が各方面と一対一で調整するだけじゃなくて、そいつら同士の橋渡しまで面倒見ないと何もまとまらないし。

ここまで見た
  • 256
  •  
  • 2013/05/13(月) 17:37:20.80
254です。
2,3時間読んでみただけで言うのも無責任だけど、
n4367の方がよさそうな気がするなあ。
Everson版は目的を限定しすぎてて、文字数も相当少ない。
かと言って合字が定義されてるわけでもない。
最初に網羅的にやっとかないと後で公開することになるはず。
あと、n4422によれば間違いも多いと書かれている。
実際どうか検証する知識はないけど、
n4367の方が引用している資料も多いし、一文字に対する検証も徹底的。
Eversonさんは膨大なスクリプトについてUnicodeに多大な貢献があるのは事実だけど、
専門家の意見も謙虚に聴くべきではないか?
まあUnicode専門家の意見も尊重しないといけないがね。

フリック回転寿司
フリック回転寿司
ここまで見た

★お気に入り追加

このページを共有する
facebook twitter hatena line google mixi email
おすすめワード