За последние 24 часа нас посетили 40856 программистов и 1813 роботов. Сейчас ищут 786 программистов ...

GUID в HEX???

Тема в разделе "Прочие вопросы по PHP", создана пользователем qwert_ukg, 26 сен 2011.

  1. qwert_ukg

    qwert_ukg Активный пользователь

    С нами с:
    20 июл 2010
    Сообщения:
    387
    Симпатии:
    0
    Адрес:
    Алмата
    Всем привет!
    Как из GUID(00000000-0000-0000-0000-000000000000) перевести в HEX(0x00000000000000000000000000000000)
    Вот собственно и все :D
     
  2. qwert_ukg

    qwert_ukg Активный пользователь

    С нами с:
    20 июл 2010
    Сообщения:
    387
    Симпатии:
    0
    Адрес:
    Алмата
    Может есть какая-нибудь последовательность конвертации, или что то в этом роде?
     
  3. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Чего общего между GUID и HEX?
     
  4. qwert_ukg

    qwert_ukg Активный пользователь

    С нами с:
    20 июл 2010
    Сообщения:
    387
    Симпатии:
    0
    Адрес:
    Алмата
    сам не знаю, у меня в SQL базе коды товара хранятся в виде 0x00000000000000000000000000000000
    подключаюсь к базе через ODBC, распечатываю поля с кодом товара - выводит в виде 00000000-0000-0000-0000-000000000000

    нашел хранимую функцию (только что):
    [sql]CREATE function [dbo].[getStringUUID] (@binaryUUID binary(16))
    returns char(40)
    as
    begin
    declare @buffer varchar(40)
    select @buffer = replace(convert(varchar(40),cast(@binaryUUID as uniqueidentifier)), '-', '')

    select @buffer = right(@buffer, 8) + '-' +
    substring(@buffer, 21, 4) + '-' +
    substring(@buffer, 17, 4) + '-' +
    substring(@buffer, 7, 2) +
    substring(@buffer, 5, 2) + '-' +

    substring(@buffer, 3, 2) +
    substring(@buffer, 1, 2) +
    substring(@buffer, 11, 2) +
    substring(@buffer, 9, 2) +
    substring(@buffer, 15, 2) +
    substring(@buffer, 13, 2)

    return rtrim(@buffer)

    end

    [/sql]
     
  5. qwert_ukg

    qwert_ukg Активный пользователь

    С нами с:
    20 июл 2010
    Сообщения:
    387
    Симпатии:
    0
    Адрес:
    Алмата
    неужели ни у кого никаких соображений нет???
     
  6. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Просто разделить цифры минусами?
     
  7. qwert_ukg

    qwert_ukg Активный пользователь

    С нами с:
    20 июл 2010
    Сообщения:
    387
    Симпатии:
    0
    Адрес:
    Алмата
    Ага, уже сделал)
     
  8. qwert_ukg

    qwert_ukg Активный пользователь

    С нами с:
    20 июл 2010
    Сообщения:
    387
    Симпатии:
    0
    Адрес:
    Алмата
    PHP:
    1. function GuidToHex($guid){
    2.     $hex = "0x".substr($guid, 19, 4).substr($guid, 24, 12).substr($guid, 14, 4).substr($guid, 9, 4).substr($guid, 0, 8);
    3.     return $hex;
    4. }
     
  9. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    эмм...

    PHP:
    1. function GuidToHex($guid){
    2.      return "0x".str_replace('-', '',$guid);
    3.  }
     
  10. qwert_ukg

    qwert_ukg Активный пользователь

    С нами с:
    20 июл 2010
    Сообщения:
    387
    Симпатии:
    0
    Адрес:
    Алмата
    в моем случае порядок другой
     
  11. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    qwert_ukg
    а, я понял. цифры перепутаны местами.