2010-12-14 5 views
1

userId가 Sybase 데이터베이스의 uniqueidentifier 유형 인 user 테이블이 있습니다. 우리가 입력 한 값은 C# 응용 프로그램의 GUID 값입니다. Sybase 도구를 통해 테이블을 볼 때 값은 3835FD60-ACDE-4345-99AB-54263E9A07AE으로 표시됩니다. 해당 필드를 텍스트 파일에 복사/붙여 넣으면 0x3835fd60acde434599ab54263e9a07ae으로 표시됩니다. 우리가 odbc (파이썬에서)를 사용하여 해당 필드에 액세스 할 때3835FD60ACDE434599AB54263E9A07AE과 같은 (16 진수) 문자열을 생성합니다.GUID uniqueidentifier의 값이 약간 다른 이유

왜 다르게 표시 되나요? 감사합니다.

답변

8

가이 드는 단지 바이트 세트입니다. 그것은 문자열이 아닙니다. 정수 123과 같은 것은 문자열 "123"이 아닙니다. 사람이 읽을 수있는 문자열로 다양한 방법으로 표시 할 수 있습니다. Guid.ToString(string)의 형식 지정자를 사용하여 형식을 선택할 수 있습니다. http://msdn.microsoft.com/en-us/library/97af8hh4.aspx

간단히 : 그들은 다른 형식을 사용하기로했습니다. 안내는 동일합니다.

1

일반적으로 UUID/GUID 값은 128 비트 정수로 저장되므로 표시 형식이 모두 유효합니다. UUID 또는 GUID를 참조 할 때 사용 된 형식화 된 디스플레이는 해당 128 비트 정수를 편리한 문자열 형식으로 변환 한 것입니다.

파이썬에서는 값을 uuid.UUID 클래스에 전달해야 UUID 객체를 얻을 수 있습니다.이 객체는 일반적인 방식으로 포맷 할 수 있습니다.

관련 문제