Giter VIP home page Giter VIP logo

Comments (15)

yas78 avatar yas78 commented on May 27, 2024

jason-cpcさん
文字セットは GB2312(簡体字**語)ですか?
QRコードの規格上、実装は可能だと思うのでやってみます。
ただし私は簡体字に対応したQRコードリーダーを持っていないので、動作確認はお願いします。

from qrcodelibvba.

jason-cpc avatar jason-cpc commented on May 27, 2024

yas78さん、お返事をいただけて光栄です!
私はプロのプログラマーではありませんが、VBAについては少し知識があります。 現在、QRコードを生成するVBAコードを個人のプロジェクトに移植しようとしていますが、あなたのコードが非常に適しているようです。 しかし、軟膏のハエは、コードが現在、文字セットGB2312(簡略化された**語)の**語の文字を認識できないことです。 あなたがそれを改善できることを願っています。
再度、感謝します。(Thanks google translator^_^)

yas78先生,能够得到你的回复,我感到非常荣幸!
我不是一名专业的程序员,只是略懂VBA。我现在试着移植一个生成二维码的VBA代码到我的个人项目里,发现你的代码似乎非常合适。但是美中不足的是,代码目前无法识别字符集GB2312(简体中文)的汉字。希望你能改善它。
再次表示感谢。

from qrcodelibvba.

yas78 avatar yas78 commented on May 27, 2024

@jason-cpc
漢字モードの文字セットを指定可能にしました。
cjk-support ブランチにコミットしたのでテストをお願いします。
次のように CreateSymbols関数のcharsetName引数に "GB2312" を設定すると、漢字モードで GB2312 が使用可能になります。

Dim sbls As Symbols
Set sbls = CreateSymbols(charsetName:="GB2312")

以下の文字で、作成・読み取りに問題がないか教えてください。

8140丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱
9FF0燄燅燆燇燈燉燊燋燌燍燏燐燑燒燓
A040燖燗燘燙燚燛燜燝燞營燡燢燣燤燦燨
DFF0唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼
E040郂郃郆郈郉郋郌郍郒郔郕郖郘郙郚郞
EBB0氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟
EBC0肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂

from qrcodelibvba.

jason-cpc avatar jason-cpc commented on May 27, 2024

@yas78さん
すべての「Shift_JIS」を「GB2312」に置き換えました。テスト結果は次のとおりです。

1.純粋な漢字または漢字で始まる文字列を入力すると、生成されたQRコードが間違っており、読み取ることができません。

2.英語または数字で始まる文字列を入力する場合、
2.1一般的に使用される漢字の場合、正常に認識できます。
2.2以下の文字列について、テスト結果は右側に示されています

入力文字列 試験結果
………………………………………………………………………………………………………………………………………………………………
8140丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱 エラー、として認識:
8140 、。,.・:;?!゛゜´`¨^
9FF0燄燅燆燇燈燉燊燋燌燍燏燐燑燒燓 エラー、判読不能
A040燖燗燘燙燚燛燜燝燞營燡燢燣燤燦燨 成功
DFF0唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼 エラー、文字化けとして認識:
DFF0�����������������������
E040郂郃郆郈郉郋郌郍郒郔郕郖郘郙郚郞 エラー、として認識:
E040觡觠觢觜触詶誆詿詡訿詷誂誄詵誃誁
EBB0氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟 成功
EBC0肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂 成功

@yas78先生
我把所有「"Shift_JIS"」替换成了「"GB2312"」,测试结果如下:

  1. 当输入纯汉字或以汉字开头的字符串时,生成的二维码错误,无法读取;

  2. 当输入以英文或数字开头的字符串时,
    2.1 对于常用的汉字,可以识别成功;
    2.2 对于如下字符串,测试结果在右侧给出

输入的字符串 测试结果
………………………………………………………………………………………………………………………………………………………………
8140丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱 错误,识别为:
8140 、。,.・:;?!゛゜´`¨^
9FF0燄燅燆燇燈燉燊燋燌燍燏燐燑燒燓 错误,无法读取
A040燖燗燘燙燚燛燜燝燞營燡燢燣燤燦燨 成功
DFF0唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼 错误,识别为乱码:
DFF0�����������������������
E040郂郃郆郈郉郋郌郍郒郔郕郖郘郙郚郞 错误,识别为其他汉字:
E040觡觠觢觜触詶誆詿詡訿詷誂誄詵誃誁
EBB0氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟 成功
EBC0肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂 成功

from qrcodelibvba.

yas78 avatar yas78 commented on May 27, 2024

@jason-cpc さん
ご確認いただきありがとうございます。

>すべての「Shift_JIS」を「GB2312」に置き換えました。
>我把所有「"Shift_JIS"」替换成了「"GB2312"」
とは、どの様な操作のことでしょうか。何も置き換える必要は無いはずなので気になりました。

漢字は文字コードの範囲により「漢字モード」と「8ビットバイトモード」の2つのモードを切り替えてエンコードされるのですが、テスト結果を見たところ、あなたが使用しているQRコードリーダーは漢字モードでエンコードされたデータをShift_JISコードとしてデコードしているようです。何故なら「8140丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱」をGB2312でエンコードし、Shift_JISコードとしてデコードした場合は「8140 、。,.・:;?!゛゜´`¨^」になるからです。

また、以下の8ビットバイトモードでエンコードされる文字は成功していることから、漢字モードによるデータ圧縮を無効化し、全ての漢字を8ビットバイトモードでエンコードすれば問題ない可能性があります。
A040燖燗燘燙燚燛燜燝燞營燡燢燣燤燦燨
EBB0氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟
EBC0肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂

漢字モードの有効化・無効化を選択できるよう修正しようと思います。

from qrcodelibvba.

jason-cpc avatar jason-cpc commented on May 27, 2024

@yas78さん
ありがとう、そして次の改良版を楽しみにしています。

@yas78先生
谢谢,期待下一个改进版本。

from qrcodelibvba.

yas78 avatar yas78 commented on May 27, 2024

すべての「Shift_JIS」を「GB2312」に置き換えました。
我把所有「"Shift_JIS"」替换成了「"GB2312"」
とは、どの様な操作のことでしょうか。

この質問についての回答をお願いします。

from qrcodelibvba.

yas78 avatar yas78 commented on May 27, 2024

@jason-cpc さん
修正しました。
CharsetにGB2312を設定してテストをお願いします。

from qrcodelibvba.

jason-cpc avatar jason-cpc commented on May 27, 2024

@yas78さん
訂正ありがとうございます。
コンボボックス「Charset」を「GB2312」として選択したところ、テスト結果は次のようになりました。

  1. 純粋な漢字または漢字で始まる文字列を入力すると、生成されたQRコードが間違っており、読み取ることができません。

  2. 英語または数字で始まる文字列を入力する場合、
    2.1 一般的に使用される漢字の場合、正常に認識できます。
    2.2 以下の文字列について、テスト結果は右側に示されています

入力文字列                            テスト結果
…………………………………………………………………………………………………………………………………………………………………………………………………………
8140丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱    エラー、次のように認識されます:8140 、。,.・:;?!゛゜´`¨^
9FF0燄燅燆燇燈燉燊燋燌燍燏燐燑燒燓      成功(前のテストは失敗しました)
A040燖燗燘燙燚燛燜燝燞營燡燢燣燤燦燨    成功
DFF0唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼      エラー、文字化けとして認識:DFF0�����������������������
E040郂郃郆郈郉郋郌郍郒郔郕郖郘郙郚郞    エラー、次のように認識されます:E040觡觠觢觜触詶誆詿詡訿詷誂誄詵誃誁
EBB0氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟    成功
EBC0肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂    成功

@yas78先生
感谢您做的修正。
我把组合框「Charset」选择为「GB2312」,测试结果如下:

  1. 当输入纯汉字或以汉字开头的字符串时,生成的二维码错误,无法读取;

  2. 当输入以英文或数字开头的字符串时,
    2.1 对于常用的汉字,可以识别成功;
    2.2 对于如下字符串,测试结果在右侧给出

输入的字符串                          测试结果
…………………………………………………………………………………………………………………………………………………………………………………………………………
8140丂丄丅丆丏丒丗丟丠両丣並丩丮丯丱    错误,识别为:8140 、。,.・:;?!゛゜´`¨^
9FF0燄燅燆燇燈燉燊燋燌燍燏燐燑燒燓      成功(之前测试失败)
A040燖燗燘燙燚燛燜燝燞營燡燢燣燤燦燨    成功
DFF0唣唏唑唧唪啧喏喵啉啭啁啕唿啐唼      错误,识别为乱码:DFF0�����������������������
E040郂郃郆郈郉郋郌郍郒郔郕郖郘郙郚郞    错误,识别为:E040觡觠觢觜触詶誆詿詡訿詷誂誄詵誃誁
EBB0氚氡氩氤氪氲攵敕敫牍牒牖爰虢刖肟    成功
EBC0肜肓肼朊肽肱肫肭肴肷胧胨胩胪胛胂    成功

from qrcodelibvba.

yas78 avatar yas78 commented on May 27, 2024

@jason-cpc さん
テスト結果の報告ありがとうございます。

原因が判明しました。
原因は、ByteEncoder.cls の変更により、マルチバイト文字を8ビットバイトモードでエンコードした際に、バイト数が正しくカウントされなくなっていたためです。

修正したので再度テストをお願いします。

from qrcodelibvba.

yas78 avatar yas78 commented on May 27, 2024

@jason-cpc さん

UTF-8であれば、私のiPhoneでも読めました、参考まで。
IMG_2399

from qrcodelibvba.

jason-cpc avatar jason-cpc commented on May 27, 2024

@yas78さん
あなたの継続的な改善のためにありがとうございました。

文字セットGB2312を使用してテストしましたが、結果は次のとおりです。

  1. 純粋な漢字によって生成されたQRコードを読み取ることができます。
  2. 前の7行のテキスト、つまり「8140丂丄丅...」およびその他の文字列については、テスト結果は変更されていません。

次に、文字セットUTF-8を使用してテストしました。同じ入力で、生成されたQRコードを正しく認識できます。

私はコードを移植を開始することができると思う、と私は将来的に問題が発生した際に、再びあなたの助けを得ることを期待します。
再度、感謝します。(by translate.google.cn)

@yas78先生
十分感谢您的持续改进。

我使用字符集GB2312进行了测试,结果如下:

  1. 能够读取纯汉字生成的二维码;
  2. 对于之前的7行文字,即「8140丂丄丅...」等字符串,测试结果没有变化。

接着,我又使用字符集UTF-8进行测试,对于同样的输入,生成的二维码可以被正确识别。

我想我可以着手代码的移植工作了,希望将来遇到问题时,能够再次得到您的帮助。
再次表示感谢。

from qrcodelibvba.

yas78 avatar yas78 commented on May 27, 2024

@jason-cpc さん
テスト結果の報告ありがとうございます。

すみません、あなたの使用しているQRコードリーダーが、GB2312の漢字モード圧縮をサポートしていない可能性について忘れていました。

Shift_JIS以外の場合は、8ビットバイトモードでエンコードするよう修正しました。
再度GB2312を指定してテストをお願いします。

正しく読み取りが行えるかどうかは、QRコードリーダーの仕様に因るところが大きいようです。
もし上手くいかない場合は、残念ですがUTF-8で使用してください。

今度こそ成功すると良いのですが(^^)

from qrcodelibvba.

jason-cpc avatar jason-cpc commented on May 27, 2024

@yas78さん
最新のコードをダウンロードし、GB2312をテスト用に指定しましたが、QRコードリーダーでテストテキストを正確に認識できません。 おそらくあなたが言ったように、私のQRコードリーダーはGB2312漢字モードの圧縮をサポートしていません。
ただし、UTF-8は問題ありません。 今、私はあなたのソースコードを読んで、いくつかのパラメータ調整を行い、コード移行の準備をしています。
お疲れ様でした。

@yas78先生
我下载了最新代码,并指定GB2312进行测试,QR码读取器依旧无法准确识别测试文本。 也许正如您所言,是我的QR码读取器不支持GB2312汉字模式压缩的缘故。
不过,UTF-8是没有问题的。现在,我正在阅读您的源码,进行一些参数调整并为代码移植做准备。
感谢您所做的工作。

from qrcodelibvba.

yas78 avatar yas78 commented on May 27, 2024

@jason-cpc さん
了解しました。
あなたのおかげで多言語対応への知見を得ることができました。
最終チェック後にmasterブランチへマージしたいと思います。
何か不明点がありましたらお問い合わせください。
ありがとうございました。

from qrcodelibvba.

Related Issues (5)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.