none
ADの属性ってUNICODEでなくてもよいのでしょうか? RRS feed

  • 質問

  • ldifde -u でデータをみたらProxyaddressesとかがエンコードされていました。-uなしだと普通にSMTPアドレスが表示されています。ANSIでデータがはいっているのかな?と思うのですがADの属性ってUNICODEでなくてもきちんと動作するのでしょうか?
    2012年5月3日 6:51

回答

  • ちょっとよく理解できていないのですが -u をつけずにインポートした場合、

    もとのテキストの文字コード(ASCIIならアスキー)で格納されるのでしょうか?

    Windows の場合はUnicodeで格納されます。(Windows内部はUnicodeで動いています)

    Default Active Directory Attributes in the Windows 2000 Schema
    http://support.microsoft.com/kb/257218/

    Windows OSの内部格納状態とLDIFDEの動きを一緒くたにしないでください。また、"-u"の役割を誤解しないでください。

    LDIFDEでエクスポートするときは、UTF-8形式でエクスポートされます。
    LDIFDEはでは、8ビット文字はBASE64でエンコードすることになっています。これが-uです。
    -uを付けると、UTF-8の1バイトエリアもエンコードするようです。

    UTF-8でエクスポートした場合、文字符号化の都合で、ASCII文字の場合、UTF-8との見分けは付かないかも(なんせ、1バイトで表現されます。)。Windowsの場合、インポートするときも、UTF-8として扱われます。

    いちど、UTF-8について調べて見られることをお勧めします。

    とりあえず、バイナリエディタで覗いてみるとわかりやすかと

    ファイルの内容:aaa(aのASCIIコードは61)

    testASCII.txt

    61 61 61

    testUTF8.txt

    EF BB BF 61 61 61

    ※頭の「EF BB BF」は、ファイルがUTF-8形式で保存されていることを示す接頭語です。

    testUnicode.txt

    FF FE 61 00 61 00 61 00

    【ご参考】
    JIS X 0201 (1976) to Unicode 文字コード表
    http://charset.7jp.net/jis0201.html

    • 回答の候補に設定 田中夢 2012年5月23日 1:03
    • 回答としてマーク 田中夢 2012年5月28日 8:18
    2012年5月15日 7:59
    モデレータ
  • >ADの属性ってUNICODEでなくてもきちんと動作するのでしょうか?

    ADは基本Unicodeです。符号化方式にはUTF-8を使用します。
    で、基本的にUTF-8ではアルファベットはそのまま同じ1バイトの文字なので、ASCIIと変わったようには見えません。

    以下余談

    LDIF形式は、マルチバイトをBASE64でエンコードすることになっていますので、エンコードされている文字列を文字コード指定(UTF-8)でBASE64デコードすると元の漢字に戻ります。

    エクスポート時は"-u"を付けると何でもかんでもBASE64でエンコードします(DNはなんとなく逆の動きに見えます)。
    ただ、BASE64をデコードしてみればわかりますが、-u付けなくても日本語のデータはUTF-8とBASE64でエンコードして送られています。

    [データ変換ツール(BASE64, URLエンコード(URLデコード), HEX(16進ダンプ), MD5, SHA-1変換フォーム)]
    http://hogehoge.tk/tool/

    ※エクスポートしたデータを上記サイトでデコードしてみると、何してるかよく分かると^^(とくに-uを付けたときとつけなかった時の日本語名なDNの動きとか気持ち悪くと仕方がありません。
    AD間の場合-uをインポート/エクスポートともにつけなかった場合化けないこともあったりとか……(ADは基本なんでもUTF-8で投げてくるので……)
    #日本語環境で利用されるのであれば"-u"をつけて合わせてくださいまし。

    • 回答の候補に設定 田中夢 2012年5月23日 1:03
    • 回答としてマーク 田中夢 2012年5月28日 8:18
    2012年5月8日 4:40
    モデレータ

すべての返信

  • >ADの属性ってUNICODEでなくてもきちんと動作するのでしょうか?

    ADは基本Unicodeです。符号化方式にはUTF-8を使用します。
    で、基本的にUTF-8ではアルファベットはそのまま同じ1バイトの文字なので、ASCIIと変わったようには見えません。

    以下余談

    LDIF形式は、マルチバイトをBASE64でエンコードすることになっていますので、エンコードされている文字列を文字コード指定(UTF-8)でBASE64デコードすると元の漢字に戻ります。

    エクスポート時は"-u"を付けると何でもかんでもBASE64でエンコードします(DNはなんとなく逆の動きに見えます)。
    ただ、BASE64をデコードしてみればわかりますが、-u付けなくても日本語のデータはUTF-8とBASE64でエンコードして送られています。

    [データ変換ツール(BASE64, URLエンコード(URLデコード), HEX(16進ダンプ), MD5, SHA-1変換フォーム)]
    http://hogehoge.tk/tool/

    ※エクスポートしたデータを上記サイトでデコードしてみると、何してるかよく分かると^^(とくに-uを付けたときとつけなかった時の日本語名なDNの動きとか気持ち悪くと仕方がありません。
    AD間の場合-uをインポート/エクスポートともにつけなかった場合化けないこともあったりとか……(ADは基本なんでもUTF-8で投げてくるので……)
    #日本語環境で利用されるのであれば"-u"をつけて合わせてくださいまし。

    • 回答の候補に設定 田中夢 2012年5月23日 1:03
    • 回答としてマーク 田中夢 2012年5月28日 8:18
    2012年5月8日 4:40
    モデレータ
  • ちょっとよく理解できていないのですが -u をつけずにインポートした場合、

    もとのテキストの文字コード(ASCIIならアスキー)で格納されるのでしょうか?

    Windows の場合はUnicodeで格納されます。(Windows内部はUnicodeで動いています)

    Default Active Directory Attributes in the Windows 2000 Schema
    http://support.microsoft.com/kb/257218/

    Windows OSの内部格納状態とLDIFDEの動きを一緒くたにしないでください。また、"-u"の役割を誤解しないでください。

    LDIFDEでエクスポートするときは、UTF-8形式でエクスポートされます。
    LDIFDEはでは、8ビット文字はBASE64でエンコードすることになっています。これが-uです。
    -uを付けると、UTF-8の1バイトエリアもエンコードするようです。

    UTF-8でエクスポートした場合、文字符号化の都合で、ASCII文字の場合、UTF-8との見分けは付かないかも(なんせ、1バイトで表現されます。)。Windowsの場合、インポートするときも、UTF-8として扱われます。

    いちど、UTF-8について調べて見られることをお勧めします。

    とりあえず、バイナリエディタで覗いてみるとわかりやすかと

    ファイルの内容:aaa(aのASCIIコードは61)

    testASCII.txt

    61 61 61

    testUTF8.txt

    EF BB BF 61 61 61

    ※頭の「EF BB BF」は、ファイルがUTF-8形式で保存されていることを示す接頭語です。

    testUnicode.txt

    FF FE 61 00 61 00 61 00

    【ご参考】
    JIS X 0201 (1976) to Unicode 文字コード表
    http://charset.7jp.net/jis0201.html

    • 回答の候補に設定 田中夢 2012年5月23日 1:03
    • 回答としてマーク 田中夢 2012年5月28日 8:18
    2012年5月15日 7:59
    モデレータ
  • こんにちは。
    フォーラム オペレーターの田中夢です。
     
    Chuki さん
    いつも参考になるアドバイスをありがとうございます。
     
    miyagiken さん
    ご質問を投稿されてからしばらく経過しましたが、その後 Chuki さんからの投稿をご覧になっていただけましたか?
    こちらのご質問につきましては、Chuki さんからの投稿を参考にしていただけたのではないかと思われますので、勝手ながら私のほうで [回答としてマーク] とさせていただきすね。

     
    今後とも、TechNet フォーラムをどうぞよろしくお願いいたします。
    ---------------------------------------------------------------------
    日本マイクロソフト株式会社 フォーラム オペレーター 田中夢

    2012年5月28日 8:18