文字コードがらみ #91

Open
ufcpp opened this Issue Aug 30, 2016 · 2 comments

Projects

None yet

1 participant

@ufcpp
Owner
ufcpp commented Aug 30, 2016

Swiftの文字列とかはutf8, utf16, unicodeScalars, characters色々返す構造。
1つの型で全部返す必要あったかどうかは置いておいて、今時はUnicode対応を標準でしっかりやってくれた方が助かる。

Swiftのこれはこれで、わかりにくいって批判あり。
https://www.mikeash.com/pyblog/friday-qa-2015-11-06-why-is-swifts-string-api-so-hard.html

まあでも、確かに、サロゲートペアの処理めんどいからコードポイント返してほしいし、grapheme clustersを数えたいことある。
https://hydrocul.github.io/wiki/blog/2015/1025-unicode-grapheme-clusters.html

C#的には、Utf8Stringってのが実装作業中。
https://github.com/dotnet/corefxlab/tree/master/src/System.Text.Utf8/System/Text/Utf8

ただ、これ、CLRレベルでの改修してもらわないとそこまでおいしいパフォーマンス得られないらしくて、C# 7のタイミングでは入らないっぽい。

あと、コードポイントは取れるけど、grapheme clusterは取れないっぽい。

コードポイントとかgrapheme clusterの説明もどこかにはほしい。

@ufcpp
Owner
ufcpp commented Sep 22, 2016

Java方面でもCompact Stringって提案出てるっぽい。
http://openjdk.java.net/jeps/254

既存のStringのAPI変えないためには、UTF8/UTF16ハイブリッドはできないっぽいけども。
Latin-1/UTF16ハイブリッドで、ASCIIだけはbyte列で扱えないかとか考えてるみたい。

C#も、もしstringに手を入れるならそういう方針にならざるを得ないかも。
そういう提案出てる。
dotnet/coreclr#7083

UTF8を効率よく取り扱いたければUtf8Stringみたいに別の型にせざるを得なさそう。

@ufcpp
Owner
ufcpp commented Oct 24, 2016

Unicode 一般論から書いてもいいかも。

http://ufcpp.net/blog/2016/9/unicode/ これの冒頭のUnicodeのおさらいみたいなの、需要ある予感。
コンピューターの基礎知識にページ足すか、http://ufcpp.net/study/csharp/misc_unicode.html 辺りを拡充するかして、この話study以下に残しといていいかも。

@ufcpp ufcpp referenced this issue Oct 24, 2016
Closed

Unicodeの話 #95

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment