2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

文字コード総合スレ part14

1 :デフォルトの名無しさん:2023/03/03(金) 15:46:58.08 ID:yKqwMGHT.net
Windows NTは初代からUnicodeがネイティブの文字コードです。cp932ではありません。
プログラマーなら一度は煩わされたことのある文字コードについてのスレ。
UTF-8、Shift_JIS、JIS、EUC、Unicode、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/
文字コード総合スレ part8 http://peace.2ch.net/test/read.cgi/tech/1354248962/
文字コード総合スレ part9 http://peace.2ch.net/test/read.cgi/tech/1401301779/
文字コード総合スレ Part10 http://mevius.2ch.net/test/read.cgi/tech/1444822140/
文字コード総合スレ Part11 https://mevius.5ch.net/test/read.cgi/tech/1516629503/
文字コード総合スレ Part12 https://mevius.5ch.net/test/read.cgi/tech/1544931495/
文字コード総合スレ part13
https://mevius.5ch.net/test/read.cgi/tech/1593777227/

561 :デフォルトの名無しさん:2024/02/19(月) 15:17:29.77 ID:W0+AhDGC.net
外字とあるから
書き間違いで戸籍などに登録された、
書き間違いニセ漢字のことだと思うよ

562 :デフォルトの名無しさん:2024/02/19(月) 15:31:19.40 ID:rXkcKh1e.net
Unicodeも振られていない「外字」が4%弱の人名に使われてるとは思わないけどね
どうなの?

563 :デフォルトの名無しさん:2024/02/19(月) 16:04:50.11 ID:Z5993mnd.net
> 2月9日(金曜日)に委託事業者から納品された通知を、郵便局に差し出すために仕分けをしている際に、
> 市職員が外字が正しく適用できていない通知を発見したことで覚知しました。

記号列(◇の中に?等)タイプだと委託業者や印刷所が気が付く可能性が高いから
ワタナベやサイトウ等のIVSを反映してなかった、と言う可能性はあるかも
チェックした職員はGJだな、普段から外字を気に掛けてるのだろう

564 :デフォルトの名無しさん:2024/02/19(月) 16:29:42.83 ID:wagphOU/.net
右から左に字を書く文化圏でもBackSpaceやEnterキーの矢印は右から左なんだよね

565 :デフォルトの名無しさん:2024/02/20(火) 00:03:22.85 ID:HesmWnzZ.net
そりゃそうだろうよ

566 :デフォルトの名無しさん:2024/02/20(火) 08:17:36.44 ID:72vUKQN+.net
>>564
え? 某OS上の某キーボードの中の人だったが、逆向きにしたぞ
UIは基本的に左右が逆
あと、括弧や不等号を入力すると逆向きになったりする
おかげで一時期頭がアラビア語脳だった

しかし、日本も戦争に負けなければ「右から左に文字を書く文化圏」なんて
他人事じゃなかったはず
アメ公のせいじゃけんのう。くやしいのう

567 :デフォルトの名無しさん:2024/02/21(水) 00:09:55.88 ID:Tatd9Vu2.net
あれ、でも実はそうかな?
念の為、競合の某大手のもチェック.... OK,、仲間発見。
焦るじゃないか。いい加減なこと言うんじゃない

568 :デフォルトの名無しさん:2024/02/21(水) 00:24:01.03 ID:Tatd9Vu2.net
ああ、OSによってはリターンキーのデザインとかキーボードの言語でなく
UIの言語で決めていたのもあったような気がするな
くそっ、俺にとって今はどうでもいい事なのに気になるじゃないかw

569 :デフォルトの名無しさん:2024/02/23(金) 13:32:00.44 ID:y/vtB73j.net
>>566
>あと、括弧や不等号を入力すると逆向きになったりする
>おかげで一時期頭がアラビア語脳だった

頭がパニックになりそう
頭脳パズルで使える

570 :デフォルトの名無しさん:2024/02/23(金) 14:11:14.91 ID:zZg+pKnE.net
文字は右から左だけど、数字は左から右だったような
日本語で表現すると「すーまりいはータッリ30ンリソガ」みたいな感じ

571 :デフォルトの名無しさん:2024/02/23(金) 14:21:21.57 ID:7PfXlp3P.net
数字をリトルエンディアンで表記していると考えると自然。

572 :デフォルトの名無しさん:2024/02/23(金) 23:20:37.86 ID:ZR6D6MGM.net
日本語は中国語と同様に元々縦書きで右から左に行が移る言語なので、横書きした場合は右から左に書いていた。1行の長さが1文字になったみたいな感覚だ。だから戦前戦中は横書きというと右から左に書いてあるのが多い。
これが左から右の英語と同じようにした理由は戦後英語から翻訳した文を下に書く時に見易いから。

573 :デフォルトの名無しさん:2024/02/23(金) 23:36:24.87 ID:BOi6B7hI.net
左から右の横書きは戦後ではなくそれよりもずっと前からだよ
あくまで右から左がなくなったのが戦後というだけの話

574 :デフォルトの名無しさん:2024/02/24(土) 21:11:27.48 ID:hGTo+fc5.net
縦書きと横書き
https://ja.wikipedia.org/?curid=329702

575 :デフォルトの名無しさん:2024/02/25(日) 21:12:56.55 ID:Cch9zGyp.net
>>570
「ガソリン30リッター」の部分が英語だとしたら、そこは左->右なので
「すーまりいはガソリン30リッター」としなければならない

576 :デフォルトの名無しさん:2024/02/25(日) 23:52:14.62 ID:IA0XC+Pj.net
>>575
アラビア文字のおハナシ

577 :デフォルトの名無しさん:2024/02/27(火) 11:38:12.52 ID:EbapOQdH.net
>>576
もちろんそうですが何か? というか右->左の言語一般かな。ヘブライとかも

難しいのは言語の境界で、例えば「ガソリン30はいりまーす」だとして、
「ガソリン」が英語、「30はいりまーす」が日本語(右->左)だと思えば
「すーまりいは30ガソリン」となるが、「ガソリン30」で区切れると判断してしまうと
「すーまりいはガソリン30」と、違う結果になってしまう
あるあるだよね〜

578 :デフォルトの名無しさん:2024/02/27(火) 14:32:58.93 ID:0J04Un9A.net
縦日
に本
書語
けな
 ら

579 :デフォルトの名無しさん:2024/02/28(水) 01:29:44.98 ID:anWSvM2g.net
MS-IMEのせいで丸印が、漢数字の零(ゼロ)に置き換わってしまった。
日本マイクロソフトは常に中国人に日本語を担当させているから、取り返しのつかない事態になってしまった。

580 :デフォルトの名無しさん:2024/02/28(水) 15:41:15.50 ID:lyPNcJHE.net
嘘も百回言えば真実となるってやつか

581 :デフォルトの名無しさん:2024/02/28(水) 19:33:10.15 ID:anWSvM2g.net
漢数字はフォントによっては真円じゃないからな。
潰れた丸印だと何これと思う未来がみえる。

582 :デフォルトの名無しさん:2024/03/05(火) 01:45:14.40 ID:7S/8Mxza.net
区切り文字としてHorizontal Tabは使われているが
Vertical TabはTSV形式でも使われていないよね
他にも0x1C-0x1FのFS GS RS USも区切り文字として想定されているのに使われていない

583 :デフォルトの名無しさん:2024/03/05(火) 18:49:24.75 ID:AgmV2Z5M.net
oO0◯○。゜❍〇⁰

584 :デフォルトの名無しさん:2024/03/07(木) 05:14:15.03 ID:bENjjFCg.net
UTF-8で記号がたくさん登録されてしまったのも問題だよな

ハイフンのような横棒は種類がたくさんあって、文字フォントの見た目では区別できなようなものもある。

585 :デフォルトの名無しさん:2024/03/07(木) 16:55:28.90 ID:vq4kvo+w.net
それよりもはるかに深刻なのはスペースに見える文字がたくさんあって
スペースを取り除くプログラムを書くのが不可能に近い

586 :デフォルトの名無しさん:2024/03/07(木) 17:41:11.51 ID:Km2D9ufH.net
\s \p{Zs}以外は知りませんではダメ?

587 :デフォルトの名無しさん:2024/03/08(金) 17:23:14.35 ID:LipF0GJv.net
>>585
近いだけで不可能ではないので大丈夫

588 :デフォルトの名無しさん:2024/03/09(土) 19:20:37.58 ID:xWVzZbl0.net
Unicodeの正規表現でいける?

589 :デフォルトの名無しさん:2024/03/09(土) 20:38:58.52 ID:v2bDUg3+.net
正規表現じゃ無理に近い
素直にブラックリストです

590 :デフォルトの名無しさん:2024/03/09(土) 21:24:45.91 ID:HJGXBhOf.net
>>588
正規表現はASCII文字くらしか想定していないが、UTF-8のASCII文字限定であれば問題ない。

591 :デフォルトの名無しさん:2024/03/09(土) 23:16:58.67 ID:fHpY/2ik.net
UnicodeProperty「...

592 :デフォルトの名無しさん:2024/03/10(日) 02:07:22.30 ID:XyA7TYUn.net
まだこんなレベルが複数いるとはな
585はなんだとおもってるんだろうか

593 :デフォルトの名無しさん:2024/03/15(金) 23:58:29.83 ID:AJ1aqVjx.net
FS GS RS USを区切り文字にしている形式はあるんだろうか

594 :デフォルトの名無しさん:2024/03/16(土) 12:13:18.07 ID:YNOid1to.net
文字列の16進コードでも正規表現できればわかりやすくなる
何語でもよくなる

595 :デフォルトの名無しさん:2024/03/16(土) 13:00:35.09 ID:g4+az/43.net
わかりやすいか?

596 :デフォルトの名無しさん:2024/03/22(金) 23:58:21.79 ID:3jp6lodI.net
Unicodeのコードポイントが7FFFFFFFではなく10FFFFまでになったのはUTF-16で表せるのが10FFFFまでだから?

597 :デフォルトの名無しさん:2024/03/23(土) 00:18:21.28 ID:2nTsjVrr.net
>>596
>>7FFFFFFFではなく

その前提はどこから来たのやら...

598 :デフォルトの名無しさん:2024/03/23(土) 01:10:47.92 ID:IkaEn615.net
>>597
UTF-8 で表現可能な上限が 0x7fffffff だな。
UCS-4 すなわち UTF-32 だと 0xffffffff
UCS-2 だと 0xffff
UTF-16 の上限に合わせているというの合ってる。

599 :デフォルトの名無しさん:2024/03/23(土) 02:34:19.03 ID:Wb02QQTi.net
微妙にかみあってなくて笑う

600 :デフォルトの名無しさん:2024/03/23(土) 07:47:34.76 ID:RuIB3JhE.net
仮にUTF-8のビットパターンで1バイト目に11111111を使っていいとしたら
その後は10******が8バイト続くことになり48bitまで表現できることになるね

601 :デフォルトの名無しさん:2024/03/23(土) 09:10:32.39 ID:mSx3lxAx.net
>>594
マルチバイト文字に [] が使えなくて | で書かなきゃならんから少し面倒にはなるな。

602 :デフォルトの名無しさん:2024/03/23(土) 11:39:26.85 ID:IkaEn615.net
>>600
未定義なので定義次第。6バイトの次が7バイトや8バイトは限らないので10バイトとか定義すればそのまま64ビットをカバーすることできるし、拡張の余地は残してある。

603 :デフォルトの名無しさん:2024/03/24(日) 09:08:35.50 ID:BJcMo4Na.net
>>596
当初UCS-4は最上位ビットをエスケープなどの用途に使い
それを除いた7FFFFFFFまで使用可能にする計画だったはず
しかしUnicodeの上限が10FFFFと決まったためにUCS-4もそれに合わせて10FFFFになったのでは

604 :デフォルトの名無しさん:2024/03/30(土) 15:01:07.51 ID:7t7x8zZ+.net
C: \のようにディレクトリの区切りが円マークなのは文字化けの結果なんだよね
C:\のようにバックスラッシュが本来の文字なのに
円マークの方が見慣れていてバックスラッシュだと違和感を感じてしまう
なぜディレクトリ区切りにスラッシュではなくバックスラッシュを採用したんだろうか

605 :603:2024/03/30(土) 15:05:16.11 ID:7t7x8zZ+.net
603の1行目でC:の後に0xA5を入れたらバックスラッシュになってしまった・・・

606 :デフォルトの名無しさん:2024/03/30(土) 15:07:21.72 ID:NUhOM3sH.net
別に文字化けでもないでしょ
バクスラなのはオプションがスラッシュだから

607 :デフォルトの名無しさん:2024/03/30(土) 15:16:04.30 ID:bmf5qOAu.net
Win32のファイル関連APIはスラッシュでOK
NT APIを直接使う時にはスラッシュはNG
GUIコントロール、ダイアログなどで独自処理してる箇所はスラッシュの考慮漏れ多数

608 :デフォルトの名無しさん:2024/03/30(土) 16:10:17.92 ID:OZirNnMs.net
Windows のRuby では、/ も使う。
C:/Users/Owner/Documents/a.txt

WSL2, Linux なら、/mnt/c/ とか
/mnt/c/Users/Owner/Documents/a.txt

609 :デフォルトの名無しさん:2024/03/31(日) 00:46:19.56 ID:/gud7Tc3.net
C:\Users\Owner/Documents/a.txt なんてのが OK な処理系もあるな

610 :デフォルトの名無しさん:2024/03/31(日) 01:53:54.19 ID:x9YjQ3QN.net
処理系というかDOS/WindowsならOSがそうなってる

611 :デフォルトの名無しさん:2024/03/31(日) 06:08:53.00 ID:PaHOJUqO.net
>>604
UNIXの真似したかったんだけど同じにしたくなかったんじゃね?

612 :デフォルトの名無しさん:2024/03/31(日) 07:10:21.54 ID:I5DgQFHY.net
ゼロは、〇とか0とか0もいいけど、ぼくはΘが僕はスキです。

613 :デフォルトの名無しさん:2024/03/31(日) 07:11:47.66 ID:I5DgQFHY.net
ディレクトリ区切り は、> が、ボクは、好き❦❤♥

614 :デフォルトの名無しさん:2024/03/31(日) 07:25:21.69 ID:SDQUovF1.net
もともとDOSはCP/Mの互換OSでディレクトリは無かった。で新バージョンで UNIX 等を真似てディレクトリを導入しようとしたんだけど、その時点で / はオプションの導入記号として使用済みだったので仕方なく \ を使った。単なる歴史的経緯。

615 :デフォルトの名無しさん:2024/03/31(日) 14:18:23.86 ID:iuJTPy3O.net
DOSはSWITCHARをコマンドでオプションの記号を/から-に変えられたようだが
Windowsにも同じ機能はあるんだろうか?

616 :デフォルトの名無しさん:2024/03/31(日) 16:22:56.09 ID:SDQUovF1.net
>>615
config.sys に書くやつなので同じのはないな。
一方で windows の内部API は \ だけじゃなくて / もディレクトリ区切りとして受け付けるというか、むしろ内部的には / に統一なのでDOS互換の目的以外でオプションに / を使う意味はない。

617 :デフォルトの名無しさん:2024/04/02(火) 21:41:53.85 ID:bdVNxKJc.net
Windowsのパス区切り文字は、なぜ逆スラッシュになったのか?
https://ascii.jp/elem/000/001/763/1763591/

618 :デフォルトの名無しさん:2024/04/03(水) 09:15:12.66 ID:vt2yN74v.net
2018年の記事でこのネタを扱って「この事実が開発者の間に広く知られるようになったのはここ数年ぐらいのこと」と書いちゃうの
筆者さんのお年頃を感じるわ

619 :デフォルトの名無しさん:2024/04/03(水) 15:47:23.50 ID:jDA8lqcs.net
Windowsは長いパスを想定していないなど、いまさらどうにもならない部分はたくさんあるからなあ。

620 :デフォルトの名無しさん:2024/04/03(水) 15:47:57.80 ID:jDA8lqcs.net
正確には長いシステム文字列だけど

621 :デフォルトの名無しさん:2024/04/05(金) 09:39:34.21 ID:OAeRR9uw.net
Windows 10 バージョン 1607 以降で長いパスを有効にする
https://learn.microsoft.com/ja-jp/windows/win32/fileio/maximum-file-path-limitation?tabs=registry#enable-long-paths-in-windows-10-version-1607-and-later

622 :デフォルトの名無しさん:2024/04/06(土) 02:00:07.31 ID:q9eV9Q7I.net
システムそのもののことを書いたんだけどな

623 :デフォルトの名無しさん:2024/04/06(土) 02:00:42.72 ID:q9eV9Q7I.net
Windowsそのものは互換性の維持から変えられない

624 :デフォルトの名無しさん:2024/04/06(土) 06:49:25.04 ID:bcbhwFp/.net
いい加減消えろよ荒らしかなんかなのか?

625 :デフォルトの名無しさん:2024/04/08(月) 00:02:59.85 ID:q+W5fVX8.net
Windowsだと日本語のパスを普通に扱うから、UTF-8のストレージからコピーしたものなどは、キャラクタセットの問題で同じファイルと認識されないことがある。

626 :デフォルトの名無しさん:2024/04/08(月) 00:06:46.79 ID:gUGErxP/.net
robocopyコマンドなどは日本語の濁点文字を変換できないので、Macなどから持ってきたファイル、フォルダなどをWindowsは正確に置き換えられず、新しい別のファイルだと判断してしまう。

627 :デフォルトの名無しさん:2024/04/08(月) 06:23:54.81 ID:/usqsKAh.net
Unicodeの正規化の問題はマカーでもMacが変だとおもってるから
zipとかを客に要求されたときは気を使ってる
俺はスクリプトでアーカイバ書いた

628 :デフォルトの名無しさん:2024/04/09(火) 20:36:20.01 ID:rPao90Ac.net
UTF-8は同じ記号を二重に定義したりと迷惑極まりない

629 :デフォルトの名無しさん:2024/04/09(火) 20:39:38.16 ID:rPao90Ac.net
日本語のフォルダ名、日本語のファイル名、半角スペースが入っているパスなどは、やはりキャラクタセットの問題、区切り文字と誤認識したりと日本語を使う弊害があるから、MacユーザーはWindowsでも問題ない名前にしてくれないと無用なトラブルを起こす。

630 :デフォルトの名無しさん:2024/04/09(火) 21:34:31.96 ID:iMz8mL7D.net
>>629
そんなこと言うとマックユーザーは濁点や半濁点が禁止になるぞ?!

631 :デフォルトの名無しさん:2024/04/09(火) 21:45:35.69 ID:UYF51JOY.net
>>630
UNIXで日本語を普通に使っている時点で問題があるのにな
Macユーザーは知識のない人間が多いのは事実だし、シェアが低いのにMacの方が売れているかのような嘘を話す。

632 :デフォルトの名無しさん:2024/04/09(火) 22:14:36.89 ID:alsgPFRw.net
昔は句点にしったかはいなかったのに時代かな

633 :デフォルトの名無しさん:2024/04/10(水) 01:10:50.60 ID:o/CaXglC.net
句読点話とか昔から議論があって、国とマスコミが合わせている話を最近の話だと思っているのは、ネットの捏造話題に振り回されすぎだw

634 :デフォルトの名無しさん:2024/04/10(水) 17:32:28.51 ID:+KIbNPCo.net
大文字と小文字の使い分けで問題が出るので

635 :デフォルトの名無しさん:2024/04/15(月) 15:11:19.52 ID:PE3M1YJ/.net
改行コードは、LF CR LF+CR どれが間違えなのか統一しろっつうの

636 :デフォルトの名無しさん:2024/04/15(月) 20:58:18.76 ID:QxQntH9/.net
>>635
その前提が間違っています

637 :デフォルトの名無しさん:2024/04/16(火) 01:11:44.84 ID:FS4GZ/y6.net
>>635
迷ったときはとにかくBOMなしUTF-8でLFにしろ

638 :デフォルトの名無しさん:2024/04/17(水) 05:36:29.22 ID:w7jXmCDp.net
>>637
Windowsの知識がないのか?

639 :デフォルトの名無しさん:2024/04/17(水) 05:37:28.83 ID:w7jXmCDp.net
WindowsはBOM付きじゃないとUTF-16だとみなすことが多い。

640 :デフォルトの名無しさん:2024/04/17(水) 06:30:22.24 ID:SUsXTeqI.net
>>637
正解
それで世界標準が確立した

641 :デフォルトの名無しさん:2024/04/17(水) 18:58:24.59 ID:Pzbg3t/L.net
>>639
そりゃあWindowsはそう判定するかもしれんけどな
普通はWindows上で動作するアプリの方にファイルを食わすんよ
そんでそのデファクトがBOMなしLF UTF-8って寸法さね

642 :デフォルトの名無しさん:2024/04/17(水) 23:38:18.72 ID:knPCS6jH.net
Windows なら BOM 無し CRLF UTF8 ではないかと思う
どっちみちアプリ専用なら決め打ちだろうしな
自動判別が必要なものなんてテキストエディタくらいだろう

643 :デフォルトの名無しさん:2024/04/18(木) 00:01:39.47 ID:oEM4PXys.net
結局ネット互換性で文字コードは統一の方向に向かっている感じ。昔はOSごとにバラバラでも問題は大きくなかったんだが最近はそうも行かなくなって、ネット交換性のないアプリとかは時代遅れになっているし、開発もOS独立が主流。
今の所ネットでは、サーバーは Linux が圧倒的なシェアを持ってて、クライアントはスマフォ、特に android がシェア1位なのでやっぱり linux なのでその文字コードに全体が引き寄せられてる。

644 :デフォルトの名無しさん:2024/04/19(金) 16:15:59.26 ID:B7MqzRwb.net
横サイズ×縦サイズのように大きさを書くときには
U+D7の乗算記号を使うべきなんだろうがアルファベットのxで書かれていることが多いよね
乗算記号はキーボードから直接入力できないからこうなってしまったのか
キーボードから直接入力できる*も乗算記号の代わりとして使えるはずだがこの表記もあまり見かけない

645 :デフォルトの名無しさん:2024/04/19(金) 17:54:47.14 ID:8xyh5QpX.net
×とхとxとXとХと✕と✖の違いがわからない

646 :デフォルトの名無しさん:2024/04/19(金) 19:46:17.55 ID:jRDwWt4b.net
>>644
Latin-1補助の文字集合というのがいまいちねえ
そういえば円記号だって0xA5だけを使うという世界線がもしあったなら

647 :デフォルトの名無しさん:2024/04/20(土) 02:13:39.00 ID:5uh2yve4.net
かける での変換、Shift キーとの同時押 下が面倒で x で代用するのかもしれんな

648 :デフォルトの名無しさん:2024/04/20(土) 02:18:34.42 ID:TAp2l9om.net
>>647
もともとユニコードとか日本語とか実装される前の時代というか、コンピュターができる前のタイプライターの時代に乗算記号を x で代用する文化ができた。それが今に引き継がれてるだけ。

649 :デフォルトの名無しさん:2024/04/20(土) 10:09:45.86 ID:V9YAL+TF.net
そもそも乗算記号は世界共通じゃないのよ
×じゃなくて・使う地域がある
除算記号も:使う地域がある

650 :デフォルトの名無しさん:2024/04/20(土) 14:38:04.06 ID:nh5GJjX6.net
桁区切りや小数点が違うのは、国際化ライブラリで変換してくれるのがあるよね
数学の演算記号もカバーしてたりするんだろうか

651 :デフォルトの名無しさん:2024/04/20(土) 17:24:22.41 ID:V9YAL+TF.net
コンピュータ言語だと*と/で代用してるからね
世界共通じゃないのと普通の文章であまり出てこないのでASCIIコードに入らなかったんだと思う
数学だと乗算記号は省略されるし除算も分数表記になるし

652 :デフォルトの名無しさん:2024/04/20(土) 17:33:35.97 ID:TAp2l9om.net
>>651
そんなこと言ってると APL 投げつけられるぞ?

653 :デフォルトの名無しさん:2024/04/20(土) 19:53:23.39 ID:75CIwP38.net
セル内文字 ⇒ Unicodeは
excel関数として存在する。

かつ

UnicodeをUTF-8に変換
のロジックもネット上にあり

然るに、
EXCELセル内文字⇒UTF-8に変換
は、excel関数になくても、
vbaで自作可能❢ なハズです。

なので、EXCELセル内文字⇒UTF-8に変換
するVBAを開発するぞーーー。てか開発させよっーーーと

by 🤡の呟き

654 :652:2024/04/20(土) 20:58:38.32 ID:75CIwP38.net
っていうかさ、UTF8 TO UNICODEを開発するぞ
UTF8の16進数のやつをUNICODEの16進数に変換
するやつを開発トスル。すると、UNICHAR関数
(EXCEL関数)で、漢字が表示されるハズ

スゲーー完璧なプラン(計画) ✌

以下はその為の備忘録ぢゃ
─────────────────
unicode「304A」をUTF-8に変換
1 「304A」を2進数に変えます。
2  それが0800〜FFFF⇒
  先頭から4, 6, 6ビットに分ける
3 それらの先頭に、E0,80,80を足す。

即ち 例「お」Unicode ⇒ UTF-8 は
304A ⇒ 0011 0000 0100 1010 ∴
304A ⇒ 0011 000001 001010 ∴
304A ⇒ 03 01 0A ∵16進数
これにE0,80,80を足す
304A ⇒ E3 81 8A ∵16進数

即ち例「お」UTF-8 ⇒ Unicode
E3 81 8A ⇒ 03 01 0A ∵E0,80,80を引く
03 01 0A ⇒ 304A ∵🤔
🤔のロジックを検討中

655 :デフォルトの名無しさん:2024/04/20(土) 21:23:20.18 ID:TAp2l9om.net
bit shift とか知ってる?
bit and とか bit or とかは?

656 :デフォルトの名無しさん:2024/04/21(日) 01:26:18.38 ID:MS9R2kFy.net
bit shift等なんとなくわかる
で、何となく、どうにかなりそう。
x = x*2 '''xが128未満で左シフト 
x = x\2 '''右シフト
x = x+192 '''xが64未満ならbit orかな
bit and はちょっと難しい

by 🤡

657 :653:2024/04/21(日) 01:48:31.65 ID:MS9R2kFy.net
例 UTF-8でE3 81 8Aを、文字表示
E3 81 8A ⇒ 03 01 0A ∵E0,80,80を引く
03 01 0A ⇒ 30 4A ∵🤔思考中
30 4A ⇒ 「お」∵Unichar関数を借用

🤔のロジックを関数UtfStrとする。
プロシジャー名はUtfStrとする。

Sub 図形_Click()
  '「お」と表示されるハズ、多分
  Msgbox UtfStr(&hE3h,&h81,&h8A)
End Sub

Function UtfStr(a1,a2,a3) as string
 b1 = a1 - 224 '''&hE0 を引く
 b2 = a2 - 128 '''&h80 を引く
 b3 = a3 - 128 '''&h80 を引く
 c=256*(16*b1+b2\4)+64*(b2 mod 4)+b3
 UtfStr=WorksheetFunction.Unichar(c)
End Function

by 🤡机上済でも未テスト∴bugあるかも

658 :656レビュー自作自演:2024/04/21(日) 06:35:47.14 ID:MS9R2kFy.net
👤 cの計算式内の16*b1は左2BITシフト?
🤡 yes
 b1 = a1 - 224 後の処理だから、
 数式16*b1は、16*(a1 - 224)と同値だし
 数式16*b1は、意訳で、左2BITシフトだ
🥳a1が224未満(モチ、a1がE0未満)で
 バグる気がするぅーーー
 早くテストしてバグって混乱するとヨイ
🤡UTF8で 00 00 00 〜 DF FF FF
 でバグるか? んーーーー

659 :657 とにかく早速テスト篇:2024/04/21(日) 08:23:58.98 ID:MS9R2kFy.net
出演者
🥳バカテスター 🤡プロマネ(元プログラマ) 👤宇宙人のランベルト星人

🥳プロマネが作った>>657のVBAをRunしたらエラーでRunしない。バグ発見∴嬉しいデス
ちゃーーーーんとテストしてる証だぁ

🤡 &hE3h は、&hE3 だった。てかそんなの報告せず
修正してテストしろーーーちゅーーーの

🥳 で、修正してテストしたら上手くいっちゃった
ちゃんと、「お」とメッセージボックスに表示された

🤡 だろ\(^o^)/ ま、たった一文字だけど
今後は更にコード改造して、UTF8のをEXCELに表示させるぜ

🥳 たったの一文字で、それも「お」だけしかテストしてないぢゃーーー

🤡 最初の一歩はこんなもんだ。てかうっせーーー

660 :658の続きてかプロマネの呟き:2024/04/21(日) 08:39:06.15 ID:MS9R2kFy.net
🤡 Function UtfStr(a1,a2,a3) as string
だけど、引数a1,a2,a3 の型はどうしようかな?
未指定で上手くいっちゃったみたいたけど、
なんか、やーーーだな

修正前 (a1,a2,a3)
修正後案1 (a1 as byte,a2 as byte,a3 as byte)
修正後案2 (a1 as integer,a2 as integer,a3 as byte)
修正後案3 (a1 as long,a2 as long,a3 as long)
修正後案4 (a1 as double,a2 as double,a3 as double)
どれにしようかな? てかどれでもいいぽいけど
常識的には案1かな? てか案3もいいな。
てか、案4が個人的には好きだけど非常識だろし
案2にするなら、ヤッパ案3だし、んーーー

🥳 (a1 as byte,a2 as double,a3 as long)
はどう❓。なんでも上手くいくなら上手くいきそうぢゃーーーん

🤡非常識なヤツ。てか案3にしよっと

661 :659についてランベルト星人感想:2024/04/21(日) 10:51:04.07 ID:MS9R2kFy.net
👤 UTF8かつカテゴリ3BYTEなら、
  そのロジックで、バッチリだろうが・・・
🤡 オレッちの開発の、秘伝の数式
 c=256*(16*b1+b2\4)+64*(b2 mod 4)+b3
 は、モチロンバッチリだよな ✌
👤 で、EXCEL VBAで実装するのか❓んーーー
🤡 モチロンだ。ってか連れないな。なんで
👤 その程度の数式なら、VBAは不要でさ、
  EXCEL関数だけで、イケる気もする。
  VBAを走らせなくても、UTF8コード値の入力
  と同時に、文字(漢字等)が表示されるぜ
🤡 なるほど。入力と同時文字表示は、いいな
  VBAでの実装は保留とし、EXCEL関数での
  実装を検討とする

272 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver.24052200