bech32Decode
أُضيفت في: v25.6.0 يفكّ ترميز سلسلة عنوان Bech32 التي أُنشئت باستخدام إحدى خوارزميتي bech32 أو bech32m.على عكس دالة الترميز، يتعامل
bech32Decode تلقائيًا مع FixedStrings ذات الحشو.address— سلسلة Bech32 المطلوب فك ترميزها.StringأوFixedStringmode— اختياري. مرّر'raw'لفك الترميز من دون إزالة البايت الأول باعتباره إصدار الشاهد. استخدم هذا مع العناوين غير التابعة لـ SegWit (مثل Cosmos SDK).String
Tuple يتكوّن من (hrp, data) استُخدم في ترميز السلسلة. تكون البيانات بتنسيق ثنائي. Tuple(String, String)
أمثلة
فك ترميز العنوان
Query
Response
Query
Response
bech32Encode
أُضيفت في: v25.6.0 تُشفِّر سلسلة بيانات ثنائية، إلى جانب الجزء المقروء بشريًا (HRP)، باستخدام خوارزميات Bech32 or Bech32m.عند استخدام نوع البيانات
FixedString، إذا كانت القيمة لا تملأ الصف بالكامل، فستُحشى بمحارف null.
وبينما تتعامل الدالة bech32Encode مع هذا تلقائيًا بالنسبة إلى الوسيط hrp، يجب ألا تكون القيم في الوسيط data محشوة.
لهذا السبب، لا يُنصح باستخدام نوع البيانات FixedString لقيم بياناتك إلا إذا كنت
متأكدًا من أن أطوالها جميعًا متساوية، وأن عمود FixedString لديك مضبوط على هذا الطول أيضًا.hrp— سلسلةStringتتكوّن من1 - 83حرفًا صغيرًا وتحدّد “الجزء المقروء بشريًا” من الشيفرة. تكون عادةً ‘bc’ أو ‘tb’.StringأوFixedStringdata— سلسلةStringمن البيانات الثنائية المطلوب ترميزها.StringأوFixedStringwitver_or_variant— اختياري. إمّا إصدار شاهد من نوع UInt* (القيمة الافتراضية = 1، و0لـ Bech32، و1+ لـ Bech32m) أو صيغة ترميز من نوع String:'bech32'(BIP173) أو'bech32m'(BIP350). عند استخدام صيغة نصية، لا يُضاف بايت إصدار الشاهد في البداية — وهذا مطلوب للعناوين غير التابعة لـ SegWit مثل Cosmos SDK.UInt*أوString
String
أمثلة
Bech32m الافتراضي
Query
Response
Query
Response
Query
Response
Query
Response
bin
أُضيف في: v21.8.0 يعيد سلسلة تحتوي على التمثيل الثنائي للمعامل وفقًا للمنطق التالي لمختلف الأنواع:
الصياغة
arg— قيمة لتحويلها إلى ثنائي.StringأوFixedStringأو(U)Int*أوFloat*أوDecimalأوDateأوDateTime
String
أمثلة
عدد صحيح بسيط
Query
Response
Query
Response
Query
Response
Query
Response
bitPositionsToArray
أُضيفت في: v21.7.0 تُرجع هذه الدالة مواقع البتات ذات القيمة 1 (بترتيب تصاعدي) في التمثيل الثنائي لعدد صحيح غير موقَّع. تُحوَّل أعداد الإدخال الصحيحة الموقَّعة أولًا إلى عدد صحيح غير موقَّع. الصياغةarg— قيمة صحيحة.(U)Int*
Array(UInt64)
أمثلة
ضبط بت واحد
Query
Response
Query
Response
bitmaskToArray
أُضيف في: v1.1.0 تفكّك هذه الدالة عددًا صحيحًا إلى مجموع قوى العدد اثنين. وتُعاد قوى العدد اثنين في مصفوفة مرتبة تصاعديًا. الصياغةnum— قيمة صحيحة.(U)Int*
Array(UInt64)
أمثلة
مثال أساسي
Query
Response
Query
Response
bitmaskToList
أُضيفت في: v1.1.0 تشبه bitmaskToArray، لكنها تُرجع قوى العدد اثنين على هيئة سلسلة نصية مفصولة بفواصل. الصياغةnum— قيمة عددية صحيحة.(U)Int*
String
أمثلة
مثال أساسي
Query
Response
char
استُحدث في: v20.1.0 يعيد سلسلة نصية بطول يساوي عدد الوسيطات المُمرَّرة، بحيث تكون قيمة كل بايت هي قيمة الوسيطة المقابلة له. يقبل عدة وسيطات من الأنواع الرقمية. إذا كانت قيمة الوسيطة خارج نطاق نوع البياناتUInt8، فستُحوَّل
إلى UInt8 مع احتمال حدوث التقريب والتجاوز.
الصياغة
num1[, num2[, num3 ...]]— وسائط رقمية تُفسَّر على أنها أعداد صحيحة.(U)Int8/16/32/64أوFloat*
String
أمثلة
مثال أساسي
Query
Response
Query
Response
hex
أُضيفت في: v1.1.0 تعيد سلسلة نصية تحتوي على التمثيل السداسي العشري للـ argument وفقًا للمنطق التالي باختلاف الأنواع:
تستخدم الدالة الأحرف الكبيرة
A-F، من دون أي بادئات (مثل 0x) أو لواحق (مثل h).
البنية
arg— قيمة لتحويلها إلى تمثيل سداسي عشري.Stringأو(U)Int*أوFloat*أوDecimalأوDateأوDateTime
String
أمثلة
عدد صحيح بسيط
Query
Response
Query
Response
Query
Response
Query
Response
hilbertDecode
أُضيف في: v24.6.0 يفكّ ترميز فهرس منحنى Hilbert إلى Tuple من الأعداد الصحيحة غير الموقّعة، يمثّل إحداثيات في فضاء متعدد الأبعاد. كما في الدالةhilbertEncode، لهذه الدالة وضعا تشغيل:
- بسيط
- موسّع
UInt64.
الوضع الموسّع
يقبل قناع نطاق (Tuple) كوسيطة أولى، وما يصل إلى عددين صحيحين غير موقّعين
كوسيطات أخرى. يحدّد كل رقم في القناع عدد الـ bits التي
ستُزاح بها الوسيطة المقابلة إلى اليسار، مما يؤدي فعليًا إلى تحجيمها
ضمن نطاقها.
قد يكون توسيع النطاق مفيدًا عندما تحتاج إلى توزيع متقارب
لوسيطات تختلف نطاقاتها كثيرًا (أو عدد قيم مميّزة) على سبيل المثال: ‘IP Address’ (0...FFFFFFFF)
و’Country code’ (0...FF). وكما في دالة الترميز، يقتصر ذلك على 8
أرقام كحد أقصى.
الصياغة
tuple_size— قيمة عدد صحيح لا تزيد على2.UInt8/16/32/64أوTuple(UInt8/16/32/64)code— شيفرةUInt64.UInt64
Tuple بالحجم المحدد. Tuple(UInt64)
أمثلة
الوضع البسيط
Query
Response
Query
Response
Query
Response
Query
Response
hilbertEncode
أُضيف في: v24.6.0 يحسب الشيفرة الخاصة بمنحنى هيلبرت لقائمة من الأعداد الصحيحة غير الموقعة. للدالة وضعان للتشغيل:- البسيط
- الموسّع
args— حتى قيمتَين منUIntأو عمودَين من النوعUInt.UInt8/16/32/64range_mask— في الوضع الموسّع، حتى قيمتَين منUIntأو عمودَين من النوعUInt.UInt8/16/32/64
UInt64. UInt64
أمثلة
الوضع البسيط
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
mortonDecode
أُضيف في: v24.6.0 يفك ترميز Morton (ZCurve) إلى tuple المناظرة من الأعداد الصحيحة غير الموقَّعة. كما هو الحال مع الدالةmortonEncode، فإن لهذه الدالة وضعَي تشغيل:
- البسيط
- الموسَّع
1- بدون تقليص2- تقليص بمقدار 2x3- تقليص بمقدار 3x ⋮- حتى 8x.
(0...FFFFFFFF)
و’Country code’ (0...FF). وكما هو الحال مع دالة الترميز، يقتصر ذلك على
8 أرقام كحد أقصى.
الصيغة
tuple_size— قيمة عددية صحيحة لا تتجاوز 8.UInt8/16/32/64range_mask— في الوضع الموسّع، القناع الخاص بكل وسيطة. القناع هو Tuple من أعداد صحيحة غير موقّعة. ويحدّد كل رقم في القناع مقدار تقليص النطاق.Tuple(UInt8/16/32/64)code— شيفرة Morton المراد فك ترميزها، كما تُنتجها الدالةmortonEncode. لا يتشكّل نطاق الإدخال إلا من البتات الدنيا البالغ عددهاN * intDiv(64, N)، حيثNهو حجم tuple الناتجة. أما نتائج الشيفرات الأكبر فهي غير محدّدة وقد تختلف من إصدار إلى آخر.UInt64
Tuple(UInt64)
أمثلة
الوضع البسيط
Query
Response
Query
Response
Query
Response
Query
Response
mortonEncode
أُضيفت في: v24.6.0 تحسب ترميز Morton (ZCurve) لقائمة من الأعداد الصحيحة غير الموقعة. للدالة نمطان للتشغيل:- بسيط
- موسّع*
UInt64.
الوضع الموسّع
يقبل قناع نطاق (Tuple) كوسيط أول، و
ما يصل إلى 8 أعداد صحيحة غير موقعة كوسائط أخرى.
يحدد كل رقم في القناع مقدار توسيع النطاق:
- 1 - بدون توسيع
- 2 - توسيع بمقدار 2x
- 3 - توسيع بمقدار 3x ⋮
- توسيع يصل إلى 8x.
args— حتى 8 أعداد صحيحة غير موقَّعة أو أعمدة من النوع المذكور أعلاه.UInt8/16/32/64range_mask— في الوضع الموسَّع، القناع الخاص بكل وسيط. القناع عبارة عنTupleمن أعداد صحيحة غير موقَّعة من1إلى8. ويحدِّد كل رقم في القناع مقدار تقليص النطاق.Tuple(UInt8/16/32/64)
UInt64. UInt64
أمثلة
الوضع البسيط
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
sqidDecode
أُضيفت في: v24.1.0 يفكّ ترميز sqid إلى مصفوفة من الأرقام. الصياغةsqid— معرّفsqidالمطلوب فك ترميزه.String
sqid. Array(UInt64)
أمثلة
مثال على الاستخدام
Query
Response
sqidEncode
ظهر لأول مرة في: v24.1.0 يحوِّل الأرقام إلى sqid، وهي سلسلة معرّفات تشبه معرّفات YouTube. الصيغةsqid
المعاملات
n1[, n2, ...]— أي عدد من الأرقام.UInt8/16/32/64
String
أمثلة
مثال على الاستخدام
Query
Response
unbin
أُضيف في: v21.8.0 تفسِّر كل زوج من الخانات الثنائية (في الوسيطة) على أنه عدد، ثم تحوِّله إلى البايت الذي يمثِّله هذا العدد. وتنفِّذ هذه الدالة العملية العكسية للدالةbin.
بالنسبة إلى وسيطة رقمية، لا تُرجع unbin() المعكوس لـ bin(). وإذا أردت تحويل النتيجة إلى عدد، فيمكنك استخدام الدالتين reverse و reinterpretAs<Type>.
إذا جرى استدعاء
unbin من داخل clickhouse-client، فستُعرَض السلاسل الثنائية باستخدام UTF-8.0 و1. ولا يلزم أن يكون عدد الخانات الثنائية من مضاعفات الثمانية. وإذا احتوت سلسلة الوسيطة على أي شيء غير الخانات الثنائية،
فستكون النتيجة غير معرّفة (من دون طرح أي استثناء).
الصياغة
arg— سلسلة تحتوي على أي عدد من الخانات الثنائية.String
String
أمثلة
الاستخدام الأساسي
Query
Response
Query
Response
unhex
أُضيفت في: v1.1.0 تنفّذ العملية العكسية لـhex. إذ تفسّر كل زوج من الأرقام السداسية العشرية (في الوسيط) على أنه عدد، ثم تحوّله
إلى البايت الذي يمثّله هذا العدد. والقيمة المعادة هي سلسلة ثنائية (BLOB).
إذا أردت تحويل النتيجة إلى عدد، يمكنك استخدام الدالتين reverse و reinterpretAs<Type>.
clickhouse-client يفسّر السلاسل على أنها UTF-8.
وقد يؤدي ذلك إلى ظهور القيم التي يعيدها hex على نحو غير متوقع.A-F.
ولا يلزم أن يكون عدد الأرقام السداسية العشرية زوجيًا.
فإذا كان فرديًا، فسيُفسَّر الرقم الأخير على أنه النصف الأقل أهمية من البايت 00-0F.
وإذا احتوت سلسلة الوسيط على أي شيء غير أرقام سداسية عشرية، فستُعاد نتيجة تعتمد على التنفيذ (من دون طرح استثناء).
أما بالنسبة إلى الوسيط الرقمي، فلا تنفّذ unhex() معكوس hex(N).
الصياغة
arg— سلسلة تحتوي على أي عدد من المحارف السداسية العشرية.StringأوFixedString
String
أمثلة
الاستخدام الأساسي
Query
Response
Query
Response