From 4e82c997a565f39d3468a90b371cae9522a11fae Mon Sep 17 00:00:00 2001 From: Aytek Ustundag Date: Sun, 25 Dec 2022 02:54:44 +0300 Subject: [PATCH 1/4] Performance update on GenerateQrCode function --- QRCoder/QRCodeGenerator.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/QRCoder/QRCodeGenerator.cs b/QRCoder/QRCodeGenerator.cs index c7aa20ef..00a11a0c 100644 --- a/QRCoder/QRCodeGenerator.cs +++ b/QRCoder/QRCodeGenerator.cs @@ -172,11 +172,16 @@ public static QRCodeData GenerateQrCode(byte[] binaryData, ECCLevel eccLevel) string modeIndicator = DecToBin((int)EncodingMode.Byte, 4); string countIndicator = DecToBin(binaryData.Length, GetCountIndicatorLength(version, EncodingMode.Byte)); - string bitString = modeIndicator + countIndicator; + string bitString = ""; + StringBuilder sb = new StringBuilder(); + sb.Append(modeIndicator + countIndicator); foreach (byte b in binaryData) { - bitString += DecToBin(b, 8); + sb.Append(DecToBin(b, 8)); + } + bitString = sb.ToString(); + return GenerateQrCode(bitString, eccLevel, version); } From c85200c8a06b2b766ebaee77cfa526c4d81abafa Mon Sep 17 00:00:00 2001 From: Raffael Herrmann Date: Fri, 19 Apr 2024 22:30:35 +0200 Subject: [PATCH 2/4] Update QRCoder/QRCodeGenerator.cs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Günther Foidl --- QRCoder/QRCodeGenerator.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/QRCoder/QRCodeGenerator.cs b/QRCoder/QRCodeGenerator.cs index 00a11a0c..795242d3 100644 --- a/QRCoder/QRCodeGenerator.cs +++ b/QRCoder/QRCodeGenerator.cs @@ -172,7 +172,6 @@ public static QRCodeData GenerateQrCode(byte[] binaryData, ECCLevel eccLevel) string modeIndicator = DecToBin((int)EncodingMode.Byte, 4); string countIndicator = DecToBin(binaryData.Length, GetCountIndicatorLength(version, EncodingMode.Byte)); - string bitString = ""; StringBuilder sb = new StringBuilder(); sb.Append(modeIndicator + countIndicator); foreach (byte b in binaryData) From b9dad0a2e6661b6b1d81d1172bf920eb69754c9f Mon Sep 17 00:00:00 2001 From: Raffael Herrmann Date: Fri, 19 Apr 2024 22:30:45 +0200 Subject: [PATCH 3/4] Update QRCoder/QRCodeGenerator.cs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Günther Foidl --- QRCoder/QRCodeGenerator.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/QRCoder/QRCodeGenerator.cs b/QRCoder/QRCodeGenerator.cs index 795242d3..3d76f5a9 100644 --- a/QRCoder/QRCodeGenerator.cs +++ b/QRCoder/QRCodeGenerator.cs @@ -173,7 +173,7 @@ public static QRCodeData GenerateQrCode(byte[] binaryData, ECCLevel eccLevel) string countIndicator = DecToBin(binaryData.Length, GetCountIndicatorLength(version, EncodingMode.Byte)); StringBuilder sb = new StringBuilder(); - sb.Append(modeIndicator + countIndicator); + sb.Append(modeIndicator).Append(countIndicator); foreach (byte b in binaryData) { sb.Append(DecToBin(b, 8)); From 62e32a9449ae4105ec155c6d89e0f392a017b4b0 Mon Sep 17 00:00:00 2001 From: Raffael Herrmann Date: Fri, 19 Apr 2024 22:30:52 +0200 Subject: [PATCH 4/4] Update QRCoder/QRCodeGenerator.cs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Günther Foidl --- QRCoder/QRCodeGenerator.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/QRCoder/QRCodeGenerator.cs b/QRCoder/QRCodeGenerator.cs index 3d76f5a9..02ea4193 100644 --- a/QRCoder/QRCodeGenerator.cs +++ b/QRCoder/QRCodeGenerator.cs @@ -179,7 +179,7 @@ public static QRCodeData GenerateQrCode(byte[] binaryData, ECCLevel eccLevel) sb.Append(DecToBin(b, 8)); } - bitString = sb.ToString(); + string bitString = sb.ToString(); return GenerateQrCode(bitString, eccLevel, version);