[Cbor] Tag for Number as String?
"David E. Wheeler" <david@justatheory.com> Thu, 17 April 2025 15:49 UTC
Return-Path: <david@justatheory.com>
X-Original-To: cbor@mail2.ietf.org
Delivered-To: cbor@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 7E0BD1DB111C for <cbor@mail2.ietf.org>; Thu, 17 Apr 2025 08:49:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=justatheory.com header.b="HKOgvKoS"; dkim=pass (2048-bit key) header.d=messagingengine.com header.b="Da8xaKOf"
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id XXIMd4QY3nzA for <cbor@mail2.ietf.org>; Thu, 17 Apr 2025 08:49:40 -0700 (PDT)
Received: from fout-a5-smtp.messagingengine.com (fout-a5-smtp.messagingengine.com [103.168.172.148]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256)) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id 06CE61DB1114 for <cbor@ietf.org>; Thu, 17 Apr 2025 08:49:39 -0700 (PDT)
Received: from phl-compute-08.internal (phl-compute-08.phl.internal [10.202.2.48]) by mailfout.phl.internal (Postfix) with ESMTP id DDCB21380510 for <cbor@ietf.org>; Thu, 17 Apr 2025 11:49:39 -0400 (EDT)
Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-08.internal (MEProxy); Thu, 17 Apr 2025 11:49:39 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=justatheory.com; h=cc:content-type:content-type:date:date:from:from:in-reply-to :message-id:mime-version:reply-to:subject:subject:to:to; s=fm2; t=1744904979; x=1744991379; bh=PgomTt7yZW1874GibUAToEguAnWAvuUC lvC1upbjADE=; b=HKOgvKoSyCX+niVEXYY4GK5gxwFjX+aaXtn1CPdQj6ZxiTbW BMUwnwbs/6fQmJ8oxsw3LzvWXT49EGD9rPnj9A5e3Qbnw4YEVNLwolMnVZXmdmJv dIStx4zLyxZVNdrYTPn4nkyuUd4ftClX/bTJIEio31KpASofiGG/a+vVQkIJDDqG 4bHEju5ZBstaVi1AWhCOAj1SxUW6BdZ34TmWncUmHsG8NtdP1rU2R9IqhJ4shfqI 0TeFQHcdRmyeR/wTx+Ys7p/1khtAmnkTvejeddGo9f+JMk3pLOqtxbOb7nIQuv2e VSsmWM7dprQoWPfGoXnsnEZGk64/TgCJUv1QOw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:message-id :mime-version:reply-to:subject:subject:to:to:x-me-proxy :x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t=1744904979; x= 1744991379; bh=PgomTt7yZW1874GibUAToEguAnWAvuUClvC1upbjADE=; b=D a8xaKOf6v7V+Seeu1aNYSSg3/eCewptWuVO5CORTZl19Yt2JsYNKKqeF0YFQ3yEE GQe8tO/1ZeavgWmrrCQIbV4oEQo1NqaHNLlyl51tWdS5DrbfQKZQNjAAf298QHZq nrVP8EfY6PcdnCKlGYx6h2tDsAoZxAGUrF6U8Xjx/PhqRSAqMuhs0HffIKdzbR7n CVv3z+uMDCiM3HSiv+d5sCYDm8OfTmV7oVmGqCyTJgxkXGZu7CDvtm2z2Fm7aL1c aAwZ5kNWnf84yTuznYWy39PYOtHi2GqkEoTXhk9as9VfWpDRtxmfPCYGVkk9+cx/ a2Z2e1ux1AFO5soObILjw==
X-ME-Sender: <xms:EyMBaAqPyqctE1Rwxyv1usWcgFBHeyGDj9t5pYBDvQqRKKEhcAbflw> <xme:EyMBaGr_7z5T-br41Zj8CzWn_01HellOYkqbwwcbyKYxTr6cjGf-dA6VExXfjVcjn JNlmnR77RCzB9CrqA>
X-ME-Received: <xmr:EyMBaFNUwcTNt_oeAjWxwGlz2JkRNv9Gg_e8bKmGP2OeKhImpgA7OgTXugVWNSPi_8fzGNf2em5587xcEkawwYMG5sG0JTLaCWcUe6JEQ50>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddvvdelieeiucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdggtfgfnhhsuhgsshgtrhhisggv pdfurfetoffkrfgpnffqhgenuceurghilhhouhhtmecufedttdenucenucfjughrpefhtg gguffkfffvofesghdtmherhhdtjeenucfhrhhomhepfdffrghvihguucfgrdcuhghhvggv lhgvrhdfuceouggrvhhiugesjhhushhtrghthhgvohhrhidrtghomheqnecuggftrfgrth htvghrnhepvdekvdejjedvgffghfdvtedtgfekheeggeeftdekvdevteduvdduvdfgvdef tedtnecuffhomhgrihhnpehgohdruggvvhdpghhithhhuhgsrdgtohhmpdhirghnrgdroh hrghenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpegu rghvihgusehjuhhsthgrthhhvghorhihrdgtohhmpdhnsggprhgtphhtthhopedupdhmoh guvgepshhmthhpohhuthdprhgtphhtthhopegtsghorhesihgvthhfrdhorhhg
X-ME-Proxy: <xmx:EyMBaH7lenPSLREysBPWqwOGvdQjO4WruZryPgIfRi9IBUA2x1O6Vw> <xmx:EyMBaP6u7qUpxIlhSc3DVtjLubIPIwBULoP3PRJgZugIdPpMs0knNQ> <xmx:EyMBaHhS5y5ZxOE9QiXB6zWdLeJo9XDNlw13-Edxo4oYFzc9DNH64g> <xmx:EyMBaJ5-01XJIYhffOdqfB9H_9Ede9ySGkNtLpucZQ52lhWqy3htFw> <xmx:EyMBaCY4YEmFleiZViTXsCk4T0_ooTAQE9pdF9HEREDrDfSKYuLAij6W>
Feedback-ID: i7c334307:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA for <cbor@ietf.org>; Thu, 17 Apr 2025 11:49:39 -0400 (EDT)
From: "David E. Wheeler" <david@justatheory.com>
Content-Type: multipart/signed; boundary="Apple-Mail=_F8C3F57C-CE7A-48E5-8E59-64DB2CF6B741"; protocol="application/pgp-signature"; micalg="pgp-sha256"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3826.500.181.1.5\))
Message-Id: <DF53B36D-D442-47EC-A75A-85430BF9A764@justatheory.com>
Date: Thu, 17 Apr 2025 11:49:28 -0400
To: cbor@ietf.org
X-Mailer: Apple Mail (2.3826.500.181.1.5)
Message-ID-Hash: RZSJYKS2LHUQQBFSDJCPZCQOPN4HBM4R
X-Message-ID-Hash: RZSJYKS2LHUQQBFSDJCPZCQOPN4HBM4R
X-MailFrom: david@justatheory.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-cbor.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Cbor] Tag for Number as String?
List-Id: "Concise Binary Object Representation (CBOR)" <cbor.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/cbor/BjA7Bc0CSubgIDGyzyiTJeLSGaQ>
List-Archive: <https://mailarchive.ietf.org/arch/browse/cbor>
List-Help: <mailto:cbor-request@ietf.org?subject=help>
List-Owner: <mailto:cbor-owner@ietf.org>
List-Post: <mailto:cbor@ietf.org>
List-Subscribe: <mailto:cbor-join@ietf.org>
List-Unsubscribe: <mailto:cbor-leave@ietf.org>
Hello, An app I’m working on makes use of the Go JSON decoder’s UseNumber[1] option to decode number values into a string subtype, json.Number[2]. I’d like to keep these values as json.Numbers when round-tripping through CBOR encoding and decoding, and a custom tag works very well[3]. I used 80000, since the registry[4] marks it as reserved for private use, but I’m wondering whether it would be generally useful to register a tag for “number as string” that implementations can then interpret appropriately. Thoughts? If so, I’d be happy to write up a more formal proposal. Best, David [1]: https://pkg.go.dev/encoding/json#Decoder.UseNumber [2]: https://pkg.go.dev/encoding/json#Number [3]: https://github.com/fxamacker/cbor/issues/441#issuecomment-2813294047 [4]: https://www.iana.org/assignments/cbor-tags/cbor-tags.xhtml
- [Cbor] Tag for Number as String? David E. Wheeler
- [Cbor] Re: Tag for Number as String? Carsten Bormann
- [Cbor] Re: Tag for Number as String? David E. Wheeler
- [Cbor] Re: Tag for Number as String? David E. Wheeler
- [Cbor] Re: Tag for Number as String? David E. Wheeler
- [Cbor] Re: Tag for Number as String? David E. Wheeler
- [Cbor] Re: Tag for Number as String? Carsten Bormann
- [Cbor] Re: Tag for Number as String? David E. Wheeler
- [Cbor] Re: Tag for Number as String? Carsten Bormann
- [Cbor] Re: Tag for Number as String? David E. Wheeler
- [Cbor] Re: Tag for Number as String? Carsten Bormann
- [Cbor] Re: Tag for Number as String? David E. Wheeler
- [Cbor] Re: Tag for Number as String? David E. Wheeler
- [Cbor] Re: Tag for Number as String? Carsten Bormann
- [Cbor] Re: Tag for Number as String? David E. Wheeler