パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

Exchange Server、新年早々「2201010001」を long に変換できないエラー」記事へのコメント

  •  日付の比較で数字を数値に変換して判定してるんですね。意外。
     てっきり日付型に変換して比較してるかと思ってました。

     ところで、桁に意味を持たせたコードって一般的だと思うんだけど、それを数値に単純に数値として扱うのって一般的なのでしょうか。
     仕事で業務システム間で連携するデータをEUCでやれという状況になってて、Access+VBAでプログラムを作ってます。
     データ交換の資料がCSVの項目しか無かったりで、メーカーのSEと相談することが多いけど、自社製品でユーザーIDは8桁の数字としていて、各桁に意味を持たせたりしてるのに、交換用データにする時は数値として扱うのが普通みたいで驚いてます。

    • by Anonymous Coward

      文字列にするのも同程度に一般的かと。

      # JavaScriptで64-bitの整数IDが化ける

      • > JavaScriptで64-bitの整数IDが化ける

         ちょっと話は変わるけど、VBAは符号無しの数値型が無いですね。
         困ったのがutf-8で外字かどうかの判断。
         私用領域(外字範囲)の途中から補数で負になってしまうため、文字コードを範囲指定できないのですね。
         仕方なく正規表現で判断するようにしたけど、何か方法があるのかしら。

        • by Anonymous Coward

          8bitに限ってはByte型がある

          • by Anonymous Coward on 2022年01月04日 0時10分 (#4179284)

            本当にUTF-8で8bit単位なら非ASCII文字はすべて負になるので「私用領域(外字範囲)の途中から」という説明と合わない。だからUTF-8とUnicodeの区別がついていないとかそういうレベルの混乱を疑っている

            親コメント
            • by Technobose (6861) on 2022年01月04日 7時00分 (#4179306) 日記

              > Unicodeの区別がついていないとかそういうレベルの混乱を疑っている

               御明察のとおりです。それとデータ交換する歳の外字についての話です。
               (文字集合でUnicode,文字エンコードでutf-8)のつもりでutf-8と書いてました(日本語でutf-8を使うならUnicodeだろうという思い込みで)。

              親コメント

クラックを法規制強化で止められると思ってる奴は頭がおかしい -- あるアレゲ人

処理中...